密度プロットと等高線プロット

DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}]
f の密度プロットを生成する
ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}]
xy の関数として f の等高線プロットを生成する

密度プロットと等高線プロット

の密度プロットを返す.明るい部分は関数値が高いことを示す.
In[1]:=
Click for copyable input
Out[1]=
オプション名
デフォルト値
ColorFunctionAutomatic陰影付けに使用する色を指定する(Hueでは色のシーケンスが使われる)
MeshNoneメッシュを描くかどうか指定
PlotPointsAutomatic各方向における初期のサンプル点の数
MaxRecursionAutomatic細分化の最大繰返し数を指定

DensityPlotのオプションの例

以下のようなメッシュを含むこともできる.
In[2]:=
Click for copyable input
Out[2]=

密度プロットでは,各点の色がプロットされている関数のその点での値を示す.デフォルトでは,関数の値が増加するにつれ,色は黒から中間色の青をへて白へと変わる.しかし一般に,任意の点における値とその色の関係を示す別の「色の対応表」を指定することもできる.オプションColorFunctionを使うと,任意の点での色を見付けるために関数値に適用される関数を指定することができる.色付け関数はGrayLevelHueRGBColor等のWolfram言語の色指示子を返す.一般的な設定は,ColorFunction->Hueである.

異なる値を示すために異なる色を使う.
In[3]:=
Click for copyable input
Out[3]=

カスタマイズされる色関数のためのリソースはColorData関数である.ColorDataColorFunctionで直接使うことのできるカスタマイズされた多数の色集合を提供する.

ColorDataを使ってアクセスすることのできるグラデーションのリストである.
In[4]:=
Click for copyable input
Out[4]=
このDensityPlotは上と同じであるがというグラデーションを使っている.
In[5]:=
Click for copyable input
Out[5]=
これは,関数の等高線プロットである.
In[6]:=
Click for copyable input
Out[6]=

等高線プロットとは関数の値を「地形図」のようにプロットしたものである.等高線は同じ高さを持つ表面にある点をつなぐ.デフォルトは,等間隔の z 値の列に対応する等高線をもつものである.Wolfram言語で生成される等高線プロットはデフォルトで陰影の度合が高い z ほど明るくなるように陰影処理が施されている.

オプション名
デフォルト値
ColorFunctionAutomatic陰影付けに使用する色を指定する(Hueでは色のシーケンスが使われる)
ContoursAutomatic等高線の合計数,あるいは等高線のz 値のリスト
PlotRange{Full,Full,Automatic}含む値の範囲.AllAutomatic,あるいはリストとして指定
ContourShadingAutomatic陰影処理を使うかどうか. Noneでは領域は空白である.色のリストを与えることができる
PlotPointsAutomatic各方向における初期サンプル点の合計数
MaxRecursionAutomatic細分化の最大反復回数

ContourPlotのオプションの例

陰影処理のないプロットである.
In[7]:=
Click for copyable input
Out[7]=
等高線領域に薄い赤と薄紫を交代に使う.
In[8]:=
Click for copyable input
Out[8]=

DensityPlotContourPlotはどちらも,プロットしている関数がより滑らかになるようより多くのサンプル点を獲得するために,プロット領域を細分化する適応アルゴリズムを使用する.しかし,サンプル点の数は常に有限なので,関数の機能が発揮できないこともある.必要に応じてPlotPointsMaxRecursionの値を増やし,サンプル点の数を増加することができる.

1点注意したいのは,関数がある特定の領域で急速に変化する場合,Plotにより生成される曲線が不正確になる場合もありうるのに対して,関数があまりに遅く変化する場合は,ContourPlotで生成される等高線の形状は不正確でありえるということである.急速に変化する関数は等高線の決まったパターンを与えるが,ほとんど平坦な関数は不規則な等高線を与える.これは通常PlotPointsまたはMaxRecursionの値を増やすことで解決する.