How to use scientific notation in a graph in Mathematica?

  • #1
319
0
When the numbers on the axis are too small or too big, I would like to use scientific notation for that axes in mathematica...
Anyone know how to do it...
I have googles it and find no useful things. Kind of frustrated.
 

Answers and Replies

  • #2
Grabbed this little piece of code from the 'net somewhere and made it a bit more user-friendly. It works in Mathematica 6 and higher (if you are using a version < 6 you have to add some DisplayFunctions to hide the initial plot and only show it at the end)

Code:
ScientificTicks[plot_Graphics, xSci_: False, ySci_: True] := 
  Module[{t},
   Show[plot, 
    Ticks -> {(t = Ticks /. AbsoluteOptions[plot, Ticks])[[1]] /. 
       If[xSci, {x_, xlab_?NumericQ, r__} -> {x, ScientificForm[x], 
          r}, {}], 
      t[[2]] /. 
       If[ySci, {y_, ylab_?NumericQ, r__} -> {y, ScientificForm[y], 
          r}, {}]}]
   ];

The first argument is a plot and the next two arguments indicate whether you want scientific notation on the x- and y-axis, respectively. If you leave them out you will get scientific notation on the y-axis only.
Code:
(* Normal on x, Scientific on y *)
ScientificTicks[Plot[Exp[x], {x, 0, 100}], False, True]
ScientificTicks[Plot[Exp[x], {x, 0, 100}], False]
ScientificTicks[Plot[Exp[x], {x, 0, 100}]]
(* Scientific on x, Normal on y *)
ScientificTicks[Plot[Exp[x], {x, 0, 100}], True, False]
(* Scientific on both *)
ScientificTicks[Plot[Exp[x], {x, 0, 100}], True, True]
ScientificTicks[Plot[Exp[x], {x, 0, 100}], True]

You can edit the defaults in the first line (e.g. change "xSci_:False" to "xSci_:True").
 

Suggested for: How to use scientific notation in a graph in Mathematica?

Replies
3
Views
1K
Replies
6
Views
549
Replies
1
Views
181
Replies
4
Views
1K
Replies
1
Views
492
Replies
1
Views
560
Replies
2
Views
658
Replies
1
Views
656
Back
Top