# Plotting a 2d function

This should be easy, I want to make a nice colour plot of a 2d function where colour denotes the function value.

I can do

y=var('y')

f=y^2

plot(f)

and I get a nice plot.

If I try

y=var('y')

f=y^2+x^2

plot(f)

Then sage tells me it can't find the variable y. Which is ridiculous, since y is in the same place as when I tried to plot a 1d function of y. Anyway, I tried googling to find a function within sage to achieve this (without resorting to excessive matplotlib syntax) and had no success so thought I'd ask a question here. Intuitively, the second case is hardly more complicated than the former so there should be a simple function that can realize this for me.

Many thanks!

One should point out that there is a default range of the variable in the former case as an aide to users, but that in the second case Sage does not try to guess what your intent was, nor to provide an auto-range. For instance, which axis should belong to which variable? So it's actually a feature that the second one doesn't "just work", and if it did, it would give you a 3d plot.