Подтвердить что ты не робот

Построение горизонтальных и вертикальных линий в Mathematica

В Mathematica, как вы строите горизонтальную линию с заданным номером? Как вы построили вертикальную линию на заданном номере?

4b9b3361

Ответ 1

Если вы на самом деле используете Plot (или ListPlot и т.д.), самым простым решением является использование опции GridLines, которая позволяет указать x- и y-значения, где вы хотите, чтобы линии рисовались. Например:

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

ИЗМЕНИТЬ, чтобы добавить:

Конечно, это решение работает, если вы просто хотите нарисовать линию на одном заданном номере. Например, если вы хотите воспроизвести второй пример из dreeve answer:

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

one line

Ответ 2

В случае горизонтальных линий при использовании Plot самый простой трюк состоит в том, чтобы просто включить дополнительные константные функции:

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

Для вертикальных линий есть опция Epilog для Plot и ListPlot:

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

enter image description here

Но, вероятно, лучшим является вариант GridLines, указанный в ответе Пиллси.

Ответ 3

Один из подходов - добавить графические примитивы Line к вашей графике:

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

enter image description here

Другим подходом было бы заняться GridLines.

Ответ 4

Используйте команду 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 будет ожидать местоположения горизонтальных линий сетки.

Ответ 5

Альтернативой является мысль о вертикальной линии как прямой линии бесконечного наклона. Итак, для вертикальной линии, расположенной в точке x = 2 * pi, мы можем сделать что-то вроде этого:

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

нажмите, чтобы увидеть изображение

Заметим, что термин 10 ^ 10 имитирует бесконечный уклон. Если вы не используете опцию PlotRange → {-1, 1}, "доминирующей" функцией является прямая линия, поэтому функция Sin [x] эффективно отображается как горизонтальная линия.