Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to use scientific notation in a graph in Mathematica?

  1. May 24, 2009 #1
    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.
  2. jcsd
  3. May 24, 2009 #2


    User Avatar
    Science Advisor
    Homework Helper

    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 (Text):
    ScientificTicks[plot_Graphics, xSci_: False, ySci_: True] :=
        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 (Text):

    (* 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").
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Similar Threads for scientific notation graph
Help with Excel graph please
LaTeX Putting Excel graph into LaTeX
MATLAB Graphing in Matlab