Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I've got a question quite similar to No 18163:Problem with high parameter values in ParametricPlot, but the solution of that problem did not work for me. So I hope you may have another tip.

I want to plot an equation similar (just a bit more difficult) then the following, the parameter and data range of concern is also similar:

$\omega = 2 c \pi / \lambda$,

where $c$ is the speed of light.

Now, the other function is a bit more tricky, therefore I want to use ParametricPlot and not Plot. My problem however is that it does not display the x-axis (or it might be so small I don't see it) when I use the correct value for c. It seems to be a problem with the large values, as everything is OK if I set c = 2 or c = 10 instead.

The code I used is:

1)

ParametricPlot[{(2 π)/λ, (2 π)/λ*1000}, {λ, 300, 1000}]

2)

ParametricPlot[{(2 π)/λ, (2 π])/λ*1000}, {λ, 300, 1000}, 
  PlotRange -> {{0.010, 0.02}, {10^15, 10^16}}, 
  MaxRecursion -> 15,
  Evaluated -> True]

I tried to apply a workaround, creating a list to Map over the range $\lambda$ = 300 .. 1000 and then using ListPlot. This would work; however, it's not so good for my full problem.

share|improve this question
3  
Have you tried AspectRatio? –  Xerxes Mar 7 '13 at 22:46
1  
@Xerxes That's a great solution. By default ParametricPlot tries to keep common scales on all axes; when the coordinates differ radically in size, that default needs to be overridden. –  whuber Mar 7 '13 at 23:04
add comment

1 Answer

Following the comments of Xerxes and whuber:

The default value for AspectRatio in ParametricPlot is:

OptionValue[ParametricPlot, AspectRatio]
(* Automatic *).

This differs from the one for Plot:

OptionValue[Plot, AspectRatio]
(* 1/GoldenRatio *)

Usually, this is a good choice as parametric plots usually have identical distances along the axes (this is what Automatic does). In your case, there is a huge difference between the two axes:

ParametricPlot[{(2 π)/λ, (2 π)/λ*1000}, {\λ, 300, 1000}]

Mathematica graphics

The solution is to set AspectRatio to a value that looks good, like the value for Plot:

ParametricPlot[{(2 π)/λ, (2 π)/λ*1000}, {λ, 300, 1000}, AspectRatio -> 1/GoldenRatio]

Mathematica graphics

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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