8.3.6 ContourPlot[], DensityPlot[] -- 2変数関数の等高線、濃淡図、陰関数

$ 2$ 変数関数 $ (x,y)\mapsto f(x,y)$ を可視化するために、等高線を描く ContourPlot[]12, 濃淡図を描く DensityPlot[] が用意されている13。 使い方は

    ContourPlot[f[x,y], {x,xmin,xmax}, {y,ymin,ymax}]
    DensityPlot[f[x,y], {x,xmin,xmax}, {y,ymin,ymax}]
例として
  ContourPlot[Sin[x]Sin[y], {x,-2,2}, {y,-2,2}]
  DensityPlot[Sin[x]Sin[y], {x,-2,2}, {y,-2,2}]

$ f(x,y)=c$ で表される曲線を描くために、

    ContourPlot[f[x,y]==c, {x,xmin,xmax}, {y,ymin,ymax}]
という使い方が出来る。
  ContourPlot[Sin[x]Sin[y]==0, {x,-2,2}, {y,-2,2}]

図 20: ContourPlot[] の例
\includegraphics[width=8cm]{eps/sampleContourPlot.eps}

オプションとして

Contours -> 整数(等高線の本数)
Contours -> 数値のリスト(等高線のレベル)
PlotRange -> {zmin,zmax} または Automatic
PlotPoints -> 整数  (デフォールトが 15。小さい!非力さが出て来る。)
などがある。

$ f(x,y)=x^2-y^2$ $ g(x,y)=2 x y$ は座標系を回転すると一致する。 そのことを見るために、等高線を描いてみる。
fc=ContourPlot[x^2 - y^2, {x, -1, 1}, {y, -1, 1}, 
 RegionFunction -> Function[{x, y, z}, x^2 + y^2 < 1]]

gc=ContourPlot[2 x y, {x, -1, 1}, {y, -1, 1}, 
 RegionFunction -> Function[{x, y, z}, x^2 + y^2 < 1], 
 Contours -> Table[h, {h, -1, 1, 0.2}]]

図 21: $ f(x,y)=x^2-y^2$ の等高線
\includegraphics[width=0.4\textwidth]{eps/f3cR.eps}
図 22: $ g(x,y)=2 x y$ の等高線
\includegraphics[width=0.4\textwidth]{eps/f4cR.eps}

桂田 祐史
2018-10-12