1
$\begingroup$

I currently have a graph in which the x and y axes take values on the order of 10^-4. Which looks messy,

Plot3D[F[r, y], {r, -10^-4, 10^-4}, {y, -1.5 10^-4, 10^-4}, PlotRange -> All , AxesLabel -> {Text[Style["r (m)", Italic, 14]], Text[Style["y (m)", Italic, 14]], Text[Style["F (TN)", Italic, 14]]}]

enter image description here

Unfortunately just scaling the argument of the function and consequently the range in Plot3D produces weird results,

Plot3D[F[r/10^6, y/10^6], {r, -100, 100}, {y, -150, 100}, PlotRange -> All , AxesLabel -> {Text[Style["r (μm)", Italic, 14]], Text[Style["y (μm)", Italic, 14]], Text[Style["F (TN)", Italic, 14]]}]

enter image description here

As you can see they're not the same graph with the second one being rather poor quality. Is there a better way to rescale the axis?

$\endgroup$
2
  • $\begingroup$ Can you provide the definition of F for testing purposes. $\endgroup$
    – Karsten 7.
    Mar 9, 2015 at 17:16
  • $\begingroup$ You could improve the quality of the scaled plot increasing the number of PlotPoints. $\endgroup$
    – Karsten 7.
    Mar 9, 2015 at 17:19

1 Answer 1

2
$\begingroup$

You can use the unscaled function and just scale the ticks (see Ticks for details):

ticks1 = Table[{n, n*10^6}, {n, -10^-4, 10^-4, 1/2 10^-4}];
Plot3D[F[r, y], {r, -10^-4, 10^-4}, {y, -1.5 10^-4, 10^-4}, PlotRange -> All, 
 AxesLabel -> {Text[Style["r (m)", Italic, 14]], Text[Style["y (m)", Italic, 14]], 
  Text[Style["F (TN)", Italic, 14]]}, Ticks -> {ticks1, ticks1, Automatic}]
$\endgroup$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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