0
$\begingroup$

If I run:

Plot[y = 10, {x, -3, 5}] 

output:

enter image description here

If I run:

Plot[x = 10, {y, -3, 5}] 

I am getting exactly same output as in first case.

I need:

  1. To plot y=10 and x from -3 to 5
  2. To plot x=10 and y from -3 to 5

How can I do that and what I am doing wrong?

$\endgroup$
1
  • $\begingroup$ Plot shows a function independant from name. But you can add a line like: 'Show[Plot[y = 10, {x, -3, 5}], Graphics[Line[{{1, 0}, {1, 20}}]]]' $\endgroup$
    – uC-Harry
    Commented Mar 30, 2020 at 18:08

6 Answers 6

2
$\begingroup$

You can draw lines directly with Graphics, and then show its axes:

Graphics[{Line[{{10, -3}, {10, 5}}], Line[{{-3, 10}, {5, 10}}]}, Axes -> True]
$\endgroup$
2
$\begingroup$

Just for exploring one more option.

Plot[10, {x, -3, 5}, GridLines -> {{10}, None}, PlotRange -> {{-3, 11}, {-3, 11}}, 
GridLinesStyle -> Directive[RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6]]]

enter image description here

$\endgroup$
2
$\begingroup$

ParametricPlot

ParametricPlot[{{x, 10}, {10, x}}, {x, -3, 5}]

enter image description here

Use many options to embellish:

p1 = ParametricPlot[{{x, 10}, {10, x}}, {x, -3, 5}, Frame -> True, 
  PlotRangePadding -> Scaled[.1], 
  FrameLabel -> {{"Y", None}, {"X", None}}, 
  PlotLegends -> {"Y = 10", "X = 10"}, 
  FrameTicks -> {{-3, 0, 5, 10}, {-3, 0, 5, 10}}, 
  PlotStyle -> Directive[Opacity[1], Thick, Arrowheads[{-.05, .05}]], 
  GridLines -> {{-3, 0, 5, 10}, {-3, 0, 5, 10}}]

enter image description here

  p1 /. Line -> Arrow

enter image description here

$\endgroup$
1
$\begingroup$

The form

Plot[f,{x,-3,5}]

plots f across the range -3,5. If f is a function of x, then it will plot f[x] but your expressions y=10 and x=10 aren't functions of x. They're assignments to y and to x, respectively. Mathematica's rather aggressive evaluator evaluates them both, returning 10 in both cases, and merrily plots

Plot[10,{x,-3,5}]

for you. Try changing the assignment to x or to y and see what value the variable has after the Plot command.

$\endgroup$
1
$\begingroup$

Try

Show[
  Plot[10,{x,-3,5},PlotRange->{{-3,12},{-4,12}}],
  Graphics[Line[{{10,-3},{10,5}}]]
]

The Plot will give your horizontal line. If you don't give that a PlotRange then it will only show the diagram from x=-3 to x=5 and you want to have that plot large enough so that it will include your vertical line when x=10.

Then the Graphics will give your vertical line.

And the Show will combine both those.

As always there are several different ways, sometimes a dozen different ways, to accomplish anything in Mathematica. Pick one you can memorize and use without making too many mistakes.

$\endgroup$
1
$\begingroup$

Another way

Plot[10, {x, -3, 5}, PlotRange -> {{-3, 12}, {-4, 12}}, Epilog -> Line[{{10, -3}, {10, 5}}]]
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.