0
$\begingroup$

When I specify tick marks in ArrayPlot I want to keep the number of trailing zero's that I specify. One work around is to use a label for that tick mark (i.e. Ticks->{0.8,0.9,{1.0,"1.0"},1.1,1.2}), but is there a neater solution to save me doing this manually?

For example if I generate a plot with the code

legend = {0.9996 + 0.0001 #, 0.9996 + 0.0001 #} & /@ {0, 1, 2, 3, 4, 5, 6, 7, 8}; ArrayPlot[legend, ColorFunction -> "ThermometerColors", DataRange -> {{0, 1}, {0.9996, 1.0004}}, FrameTicks -> {{0.9996, 0.9997, 0.9998, 0.9999, 1.0000, 1.0001, 1.0002, 1.0003, 1.0004}, None}, AspectRatio -> 7, LabelStyle -> Large] 

which gives me

enter image description here

we see the "1." looks out of place as it is.

$\endgroup$
4
  • 3
    $\begingroup$ There are a number of ways to set how a number is displayed: NumberForm, PaddedForm, SetPrecision. You could Map one of these over your ticks: {#, NumberForm[#, {5, 4}]}&/@ ticks. $\endgroup$ Commented Oct 29, 2014 at 2:10
  • $\begingroup$ @wxffles You seem to have beat me too it. :( $\endgroup$ Commented Oct 29, 2014 at 2:19
  • $\begingroup$ Proposed duplicate: (22722) or (33297). $\endgroup$ Commented Oct 29, 2014 at 10:00
  • 1
    $\begingroup$ Related: (3436), (5276), (5369), (8791), (8923), (23763), (39247) $\endgroup$ Commented Oct 29, 2014 at 10:01

1 Answer 1

5
$\begingroup$

Use a function with NumberForm to construct your FrameTicks.

FrameTicks -> {{#, NumberForm[#, {5, 4}]} & /@ legend[[All, 1]], None} 
$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.