web-dev-qa-db-ja.com

Mathematicaで水平線と垂直線をプロットする

Mathematicaでは、指定された数で水平線をどのようにプロットしますか?与えられた数で垂直線をどのようにプロットしますか?

23
karlsbad

実際に Plot (または ListPlot など)を使用している場合、最も簡単な解決策は GridLines オプションを使用することです。線を描画する場所にx-およびy-valuesを指定します。例えば:

Plot[Sin[x], {x, 0, 2 \[Pi]},
  GridLines -> {{0, \[Pi]/2, \[Pi], 3 \[Pi]/2, 2 \[Pi]},
                {-1, -Sqrt[3]/2, -1/2, 0, 1/2, Sqrt[3]/2, 1}}]

many lines

[〜#〜] edit [〜#〜]追加:

もちろん、このソリューションは、指定された1つの番号に線を引きたいだけの場合に機能します。たとえば、2番目の例を dreeveの答え から再現したい場合:

Plot[Sin[x], {x, 0, 2 Pi},
 GridLines -> {{4}, {}}]

one line

28
Pillsy

Plotを使用する水平線の場合、最も簡単なトリックは、追加の定数関数を含めることです。

Plot[{Sin[x], .75}, {x, 0, 2Pi}]

垂直線の場合、EpilogおよびPlotListPlotオプションがあります。

Plot[Sin[x], {x, 0, 2Pi}, Epilog->Line[{{4,-100}, {4,100}}]]

enter image description here

しかし、おそらく最良の方法は、Pillsyの答えにあるGridLinesオプションです。

16
dreeves

1つのアプローチは、グラフィックにLineグラフィックプリミティブを追加することです。

p1 = Plot[Sin[x], {x, -2*Pi,2*Pi}];
l1 = Graphics@Line[{{-2Pi,.75},{2Pi,.75}}]; (* horizontal line at y==.75 *)
Show[p1,l1]

enter image description here

別のアプローチは、GridLinesをいじることです。

10

次のようにGridlinesコマンドを使用します。

Plot[
  1/(15*E^((x - 100)^2/450)*Sqrt[2*Pi]),
  {x, 55, 145},
  GridLines -> {{85, 115}, {}}
]

翻訳上記のコードでは、標準曲線をプロットします。

1/(15*E^((x - 100)^2/450)*Sqrt[2*Pi]) 

次に、プロットにx軸のどの部分を表示するかを指示します。

{x, 55, 145}

次に、85と115の位置に垂直グリッド線を追加します。

GridLines -> {{85, 115}, {}}

Gridlinesが水平グリッド線の位置を期待する空白の{}を提供する必要があることに注意してください。

3

別の方法は、垂直線を無限勾配の直線と考えることです。したがって、x = 2 * piにある垂直線の場合、次のようなことができます。

Plot[{Sin[x], 10^10 (x - 2 \[Pi])}, {x, 0, 10}, PlotRange -> {-1, 1}]

クリックして画像を表示

10 ^ 10という用語は無限の勾配を模倣することに注意してください。オプションPlotRange-> {-1、1}を使用しない場合、「支配的な」関数は直線なので、Sin [x]関数は事実上水平線として表示されます。

0
oaroldan