# Plotting Functions and Graphs in Wolfram|Alpha

Plotting functions in the Cartesian plane is such a simple task with Wolfram|Alpha: just enter the function you are looking to graph, and within seconds you will have a beautiful result. If you are feeling daring, enter a multivariate function, and the result will be a 3D Cartesian graph. Wolfram|Alpha is certainly not limited to Cartesian plotting; we have the functionality to make number lines, 2D and 3D polar plots, 2D and 3D parametric plots, 2D and 3D contour plots, implicit plots, log plots, log-linear plots, matrix plots, surface of revolution plots, region plots, list plots, pie charts, histograms, and more. Furthermore, in Wolfram|Alpha we can generate specialized plots for illustrating asymptotes, cusps, maxima, minima, inflection points, saddle points, solutions of ordinary differential equations, poles, eigenvalues, series expansions, definite integrals, 2D inequalities, interpolating polynomials, least-squares best fits, and more. Let’s take a look at the plotting functionality in Wolfram|Alpha, some of which is newly improved!

We will start simple with 2D Cartesian plots.

Here we plot sin(√7*x*)+19cos(*x*) for *x* between -20 and 20.

If we change √7 to √-7, then we get a plot of the real and imaginary parts.

In both these examples we have given Wolfram|Alpha a horizontal plot range. What happens if we don’t give Wolfram|Alpha a range?

We still get back a plot with all of its defining features. One of the unique features of Wolfram|Alpha is the functionality to automatically guess an appropriate plot range for univariate and bivariate functions. Here is another example:

So far we have told Wolfram|Alpha that we’re specifically requesting a plot. If we simply enter a univariate expression without the prefix “plot”, then we’ll always get a Cartesian plot in addition to a number of other pieces of information. Try:

Versus:

One important difference is that the image sizes are larger if you specifically ask for a plot.

You can also plot more than one function at a time.

The underlying *Mathematica* function used in all the examples is `Plot`. By clicking the bottom left of the images and then “Copyable plaintext”, you can see the *Mathematica* code used to generate the plots. For example:

The code can then be evaluated in *Mathematica*.

Now let’s give Wolfram|Alpha a challenge and plot bivariate functions. Start by plotting *y*^2 cos(*x*) for *x* between -6 and 6 and *y* between -2 and 2.

As in the univariate case, Wolfram|Alpha has the capability to find an appropriate plot range for a bivariate function, the code for which is under continuous development. If Wolfram|Alpha fails to generate a plot, then it’s most likely because the code that determines a plot range has been unable to

find a region where the function has interesting behavior. In such cases you can always manually enter a plot range like we did in the example above. Here are a couple of examples:

What happens if you want to plot more than one bivariate function?

Wolfram|Alpha will return an individual plot of each function in the list. Here are a couple more examples to test out:

- plot (1 –
*x*)/(2*x*+ 7*y*), 5*x*^2 – 3*y*^2 + 7*x y*, (*x*+ 2*y*)^4

- plot sqrt (1 +
*x y*), sqrt (*x*^2 –*y*^2 + 2*x y*)

A new feature in Wolfram|Alpha is the functionality to plot the real and imaginary parts of complex-valued bivariate functions. Here are a couple of examples:

In all of these examples Wolfram|Alpha returned a contour plot in addition to the 3D plot. A nice way to see the connection between the 3D and contour plots is to click the “Show contour lines” button. Note that the 3D and contour plots will always use the same plot range.

All of the 3D plots were made using *Mathematica*‘s function `Plot3D`; the contour plots were made using `ContourPlot`. In both cases the *Mathematica* code for generating the images can be found by clicking the plots.

You have now had the opportunity to view the plotting abilities of Wolfram|Alpha in 2D and 3D planes. Still not convinced? Try to plot your favorite function in Wolfram|Alpha, and be sure to share your results with us!

I think you should put all Mathematica on WolframAlpha :D

It is amazing to have all those features in such a free website.

thanks wolfram.

Sam, congrats … excellent job!! … The whole thing would be more than completed with some comments on plotting functions given implicitly. Cheers.

Thanks! 2D implicit plotting is pretty straight forward. Here’s an example

http://www.wolframalpha.com/input/?i=plot+x+y+-+1%2F%281%2Bx%5E2+%2B+y%5E2%29+%3D+2

Sam Blake

Wolfram Research

Just give Alpha a hint that you would like a log scale. Here’s an example,

http://www.wolframalpha.com/input/?i=log+plot+Exp%5BExp%5B-1%2F%281%2Bx%5E2%29%5D%5D

Sam Blake

Wolfram Research

See what an amazing plot I have got

http://www.wolframalpha.com/input/?i=plot+x^sin%28y^2%29%3D+ln%28x*e^sinx%29

Can you explain your inequality plots?

For example I do not understand http://www.wolframalpha.com/input/?i=plot+%28x%2By%29%3C5

The shaded area evaluates to true for that function – looks pretty standard to me. Did you mean “how does it choose what range to display when you haven’t given it context” ? I guess the same magic that it uses for the other graphs.

Hi, I was wondering if it is possible to plot complex graphs in Wolfram Alpha…ie arg(z-3i)-arg(z+4)=?/2 ? If so, how? If not, it’d be nice if you added the feature! :D

Thanks for the reply. Am I missing something here?

http://www.wolframalpha.com/input/?i=plot+%28x%2By%29%3C5 looks like x+y< 7.5 to me.

I would expect x+y < 5 to look like this:

ie to go through (5,0) and (0,5)

I wonder if it is possible to plot parametric surface here? I tried but did not succeed.

I wanted a sphere with this input:

parameric plot3D (cos(theta)*sin(phi), sin(theta)*sin(phi),cos(phi))

But no sphere is produced.

Thanks for your help.

Can you find specific points on a graph? like at X=0.25 Y=?

@ Volkan -

Take a look at this example: http://www.wolframalpha.com/input/?i=plot+x%3D0.25%2C+y%3D2

Is this what you are looking for?

How’s this?

http://www.wolframalpha.com/input/?i=plot+{0.25%2C+2}

Hi!

How can I ask alpha to keep the range of y e.g y=0..1, however divide this interval to the finer grids. I mean instead of dividing y to 0, 0.02, 0.04, 0.06, 0.08, 1; divide it to 0, 0.002, 0.004,…,1

Hi!

Is there a way to force alpha plot the full vertical range? Similar to PlotRange->Full in real Mathematica?

Thanks!!

In the 3D plot is it possible to plot the real function only i.e. for the domain, which guarantees that f(x, y) is real. The “real part” of the plot (2x-y)^(1/4) is for the whole R^2, I’d like it to be for 2x > y.

How to change ratio of height and width of a plot in wolframalpha? AspectRatio function doesnt work.

I was wondering how you got the axes labels to show up? Whenever I attempt to plot on Wolfram|Alpha they do not show up..

Is there a way to plot a two variable function and a 3 variable function on a single graph (ex: a line and a plane)?