# 13.3: Visualizing Two-Dimensional Scalar and Vector Field

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

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

$$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$

( \newcommand{\kernel}{\mathrm{null}\,}\) $$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\id}{\mathrm{id}}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\kernel}{\mathrm{null}\,}$$

$$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$

$$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$

$$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\AA}{\unicode[.8,0]{x212B}}$$

$$\newcommand{\vectorA}[1]{\vec{#1}} % arrow$$

$$\newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow$$

$$\newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vectorC}[1]{\textbf{#1}}$$

$$\newcommand{\vectorD}[1]{\overrightarrow{#1}}$$

$$\newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}}$$

$$\newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}}$$

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

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

Plotting scalar and vector fields 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 field $$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.

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

The clabel command is used here to add labels to the contours. The result is shown in Fig. 13.3.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!

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

##### Exercise $$\PageIndex{1}$$:

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

##### Exercise $$\PageIndex{2}$$:

Plot the gradient field 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.

This page titled 13.3: Visualizing Two-Dimensional Scalar and Vector Field is shared under a CC BY-NC-SA 3.0 license and was authored, remixed, and/or curated by Hiroki Sayama (OpenSUNY) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.