How to use scientific notation in a graph in Mathematica?

  • Mathematica
  • Thread starter hanson
  • Start date
  • #1
319
0

Main Question or Discussion Point

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
CompuChip
Science Advisor
Homework Helper
4,302
47
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").
 

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

Replies
8
Views
10K
  • Last Post
Replies
3
Views
4K
Replies
0
Views
1K
Replies
1
Views
2K
Replies
3
Views
9K
Replies
0
Views
3K
Replies
1
Views
4K
Replies
1
Views
4K
Top