# How to graph a two-variable function as a surface

## Description

Assume we have a mathematical formula in the variables $x$ and $y$ and we would like to plot a graph of it using a 3D coordinate system.

Related tasks:

## Using SymPy, in Python

This answer assumes you have imported SymPy as follows.

1
2

from sympy import * # load all math functions
init_printing( use_latex='mathjax' ) # use pretty math output

First, we need a two-variable function that we wish to plot.

1
2
3

var( 'x y' )
formula = sin( x**2 + y**2 )
formula

$\displaystyle \sin{\left(x^{2} + y^{2} \right)}$

You can use `plot3d`

, but you have to import it specifically,
because it is not imported by default with the rest of SymPy.

1
2

from sympy.plotting.plot import plot3d
plot3d( formula )

1

<sympy.plotting.plot.Plot at 0x7f085354fa60>

Specify the minimum and maximum values for both $x$ and $y$ as follows. In this example, I keep $-\pi\leq x\leq\pi$ and $-\frac\pi2\leq y\leq\frac\pi2$.

1

plot3d( formula, (x,-pi,pi), (y,-pi/2,pi/2) )

1

<sympy.plotting.plot.Plot at 0x7f07e5878a60>

Content last modified on 24 July 2023.

See a problem? Tell us or edit the source.

## Topics that include this task

## Opportunities

This website does not yet contain a solution for this task in any of the following software packages.

- R
- Excel
- Julia

If you can contribute a solution using any of these pieces of software, see our Contributing page for how to help extend this website.