Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


While the self-posted answer below (TickLabelStyle->TraditionalForm) works for most things, it also has the following effect: Integers are given periods in the label. That is, if the ticks would be at {1,2,3,4}, the labels are given as {"1.","2.","3.","4."} instead of the more pleasing {"1","2","3","4"}. Is there a better form or formatting function to use in this case?

I'm using the CustomTicks package from LevelScheme, and am having problems with displaying things when the range is very small ($10^{-11}$). For example, with default Mathematica:

ListPlot[{RandomReal[#], RandomReal[#]} & /@ (Range[100] 10^-10), 
 Frame -> True, Axes -> False]


Mathematica graphics

While the equivalent, reproducible CustomTicks equivalent is:

ListPlot[{RandomReal[#], RandomReal[#]} & /@ (Range[100] 10^-10), 
 Frame -> True, Axes -> False, 
 FrameTicks -> {LinTicks, LinTicks, StripTickLabels@LinTicks, 

which gives:

Mathematica graphics

Erk. I must be missing something from the documentation, but I can't seem to find the right options. I want to eventually set more options for LinTicks (such as Tick length, etc), but this is a minimal example, and once this is solved, I can work on adding those options.

I can also double check that the range is set correctly by doing things slightly more by hand:

In[11]:= data = {RandomReal[#], 
     RandomReal[#]} & /@ (Range[100] 10^-10);
xRange = {Min@data[[All, 1]], Max@data[[All, 1]]}
yRange = {Min@data[[All, 2]], Max@data[[All, 2]]}

Out[12]= {3.82894*10^-11, 9.18792*10^-9}

Out[13]= {5.96584*10^-12, 9.54224*10^-9}

In[14]:= ticks = FrameTicks -> {
    LinTicks[xRange[[1]], xRange[[2]], MajorTickLength -> {0, 0.015},
 MinorTickLength -> {0, 0.005}],
    LinTicks[yRange[[1]], yRange[[2]], MajorTickLength -> {0, 0.015},
 MinorTickLength -> {0, 0.005}],
    StripTickLabels@LinTicks[xRange[[1]], xRange[[2]]],
    StripTickLabels@LinTicks[yRange[[1]], yRange[[2]]]

Output omitted, but the range from LinTicks is correct. The x axis is $2\times 10^{-9}$ to $9\times 10^{-9}$, so they should output fine.

ListPlot[data, Frame -> True, Axes -> False, ticks]


Mathematica graphics

Any ideas?

share|improve this question
damn it, I of course found an answer as soon as I posted: use the option TickLabelFunction->TraditionalForm for the LinTicks. I'm wondering if that breaks anything else... anyone have any insight? – tkott Apr 10 '12 at 2:42
Please post it as an answer and accept it. – Dr. belisarius Apr 10 '12 at 11:52
I can accept it only in 2 days apparently. Didn't know if it was ok to answer your own question... – tkott Apr 10 '12 at 13:10
Yes, it is OK in these cases. – Dr. belisarius Apr 10 '12 at 14:44
up vote 7 down vote accepted

As soon as I posted, I realized I could check whether there were any options for LinTicks that might be useful:

Options@LinTicks // TableForm

Scanning that list, I saw:

TickLabelFunction -> Automatic

On a hunch, I added

TickLabelFunction -> TraditionalForm

To the ticks definition from the question, and things worked:

Mathematica graphics

share|improve this answer

Your Answer


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.