How to | 2D曲線上のデータ点を表示してそれにスタイルを付ける方法
データから曲線をプロットする場合,曲線に沿ってデータ点を表示するのに使える方法がいくつかある.そのようなプロットを表示する際に,デフォルト設定がほとんどの場合適切であるが,Wolfram言語には希望するように曲線やデータにスタイルを付けることができるオプションも含まれている.
ListLinePlotおよびListPlotを使って,データリストから2D曲線を作成することができる.
testData1 = Table[{x, Sqrt[x]}, {x, 0, 4, .2}];
testData2 = Table[{x, x^1 / 3}, {x, 0, 4, .2}];
testData3 = Table[{x, x^1 / 5}, {x, 0, 4, .18}];ListPlotはデータリストから散布図を作る場合に最もよく使われる.デフォルトでListPlotはデータ点を線で結ぶことはしない:
ListPlot[{testData1, testData2, testData3}]ListLinePlotを使って,リスト中の値と値の間の線をプロットする.デフォルトでは,Wolfram言語はListLinePlotで作成した曲線に点を描かない:
ListLinePlot[{testData1, testData2, testData3}]PlotMarkersあるいはMeshオプションを使って,曲線に沿ってデータ点を表示することができる:
ListLinePlot[{testData1, testData2, testData3}, PlotMarkers -> Automatic]ListLinePlot[{testData1, testData2, testData3}, Mesh -> All]PlotStyleオプションをMeshと一緒に使って,それぞれの曲線の色を変える:
ListLinePlot[{testData1, testData2, testData3}, Mesh -> All, PlotStyle -> {Red, Green, Blue}]PlotStyleオプションをPlotMarkersと一緒に使って,各曲線とその点の色を変える.この例のPlotStyleの結果は,PlotStyleがMeshと一緒に使われた場合とは異なることに注意する:
ListLinePlot[{testData1, testData2, testData3}, PlotMarkers -> Automatic, PlotStyle -> {Red, Green, Blue}]PlotStyleと同じように,MeshStyleオプションはグラフィックス指示子を使ってプロット内の点にスタイルを付けることができる.MeshStyleを使う場合にはMeshも使わなくてはならない:
ListLinePlot[{testData1, testData2, testData3}, Mesh -> All, MeshStyle -> {PointSize[0.02], Red}]MeshあるいはMeshStyleを使ってプロット内の点の種類を変えることはできない.これにはPlotMarkersを使わなくてはならない:
ListLinePlot[{testData1, testData2, testData3}, PlotMarkers -> {{●, 8}, {▲, 8}, {■, 8}}, PlotStyle -> {Red, Green, Blue}]MeshとPlotMarkersを一緒に使うことができるが,PlotMarkersによって作成された点がMeshによって作成された点よりも優先される:
ListLinePlot[{testData1, testData2, testData3}, Mesh -> All, PlotMarkers -> {{●, 8}, {▲, 8}, {■, 8}}]Meshを使うのであれば,MeshStyleで点にスタイルを付けることができる:
ListLinePlot[{testData1, testData2, testData3}, Mesh -> All, PlotMarkers -> {{●, 8}, {▲, 8}, {■, 8}}, MeshStyle -> {Red, Green, Blue}]ここで紹介したスタイル付けの方法は,ListPlotを使って描いた曲線に対しても使える.
Wolfram言語は3Dプロットの点を表示することもできる.例えば,ListPlot3Dで生成された以下の3D曲面の基になっているデータ点を見たいという場合がある:
ListPlot3D[Table[Sin[j ^ 2 + i], {i, 0, Pi, 0.1}, {j, 0, Pi, 0.1}]]これにはListPointPlot3Dを使う:
ListPointPlot3D[Table[Sin[j ^ 2 + i], {i, 0, Pi, 0.1}, {j, 0, Pi, 0.1}]]