# 13.3: Visualizing Two-Dimensional Scalar and Vector Field

- Page ID
- 7845

\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

Plotting scalar and vector ﬁelds in Python is straightforward, as long as the space is two-dimensional. Here is an example of how to plot a 3-D surface plot:

The scalar ﬁeld \(f(x,y) = \sin{\sqrt{x^2 + y^2}}\) is given on the right hand side of the` zvalues`

part. The result is shown in Fig. 13.3.1.

*Figure \(\PageIndex{1}\)**: Scalar ﬁeld visualized as a 3-D surface using Code 13.1.*

And here is how to draw a contour plot of the same scalar ﬁeld:

The` clabel `

command is used here to add labels to the contours. The result is shown in Fig. 13.3.2.

*Figure \(\PageIndex{2}\)**: Scalar ﬁeld visualized as a contour plot using Code 13.2*

If you want more color, you can use `imshow`

, which we already used for CA:

The result is shown in Fig. 13.3.3. Colorful!

*Figure \(\PageIndex{3}\)**: Scalar ﬁeld visualized as a color image using Code 13.3.*

Finally, a two-dimensional vector ﬁeld can be visualized using the streamplot function that we used in Section 7.2. Here is an example of the visualization of a vector ﬁeld v = (vx,vy) = (2x,y−x), with the result shown in Fig. 13.3.4:

*Figure \(\PageIndex{4}\)**: Vector ﬁeld visualized using Code 13.4.*

Exercise \(\PageIndex{1}\):

Plot the scalar ﬁeld \(f(x,y) = \sin{(xy)}\) for \(−4 ≤ x,y ≤ 4\) using Python.

Exercise \(\PageIndex{2}\):

Plot the gradient ﬁeld of f\((x,y) = \sin{(xy)}\) for \(−4 ≤ x,y ≤ 4\) using Python.

Exercise \(\PageIndex{3}\):

Plot the Laplacian of \(f(x,y) = \sin{(xy)}\) for \(−4 ≤ x,y ≤ 4\) using Python. Compare the result with the outputs of the exercises above.