I'm plotting up some data using a ProbabilityScalePlot
in Mathematica 8. It currently looks like so:
Code:
ProbabilityScalePlot[data, "Normal", AspectRatio -> 0.9, Frame -> True,
GridLines -> Automatic, GridLinesStyle -> LightGray, Axes -> False,
LabelStyle -> font,
PlotStyle -> Directive[PointSize -> Large, Thick, Purple],
FrameLabel -> {"Value", "Cum. Prob."}, ImageSize -> 250]
I'd like to change the y grid lines to only show up on the ticks {1, 5, 10, 25, 50, 75, 90, 95, 99}
but when I change GridLines -> Automatic
to GridLines -> {Automatic,Ticks}
I get an error.
The error is "A GridLines specification should be None, Automatic, or a list of grid line specifications."
What's odd is that doing the same thing on a different style plot, Histogram for example, works just fine.
Is this a quirk of ProbabilityScalePlot or am I missing something?
If I simplify the input to it's bare-bones (and change the data, sorry):
ProbabilityScalePlot[data, "Normal", GridLines -> {Automatic, Automatic}]
and then look at the GridLines
part of InputForm
(formatted and comments added to hopefully make it easier to read):
GridLines ->
{
(* X-axis *)
Charting`ScaledTickValues[
{#1 & , #1 & },
Charting`ScaledTickValues[{#1 & , #1 & }][##1]
] & ,
(* Y-axis *)
Charting`ScaledTickValues[
{1 + SpecialFunctions`Probit[#1] & ,
(1*Erfc[(1*(Sqrt[2.] - Sqrt[2.]*#1))/2.])/2. &
},
Charting`ScaledTickValues[{#1*0.01 & , #1 & }][##1]
] &
}
It appears that it's correctly assigning something to the x and y axis, but based on the error I assume that it's not evaluating to a list of numbers or grid line specifications. Sadly that InputForm
is a bit too complicated for me to read fully, but I can tell that it's using the Z-score of the data point as the actual grid lines or tick marks, but then transforming it to cumulative probability when displaying the y-axis.
y
-axis gridlines to be, you can manually input them. For example,ProbabilityScalePlot[RandomReal[{0, 1}, {2, 100}], "Normal", AspectRatio -> 0.9, Frame -> True, GridLines -> {Automatic, {1, 5, 10, 25, 50, 75, 90, 95, 99}}, GridLinesStyle -> LightGray, Axes -> False, PlotStyle -> Directive[PointSize -> Large, Thick, Purple], FrameLabel -> {"Value", "Cum. Prob."}, ImageSize -> 500]
produces a chart with the gridlines where you want them. Is this what you are looking for? $\endgroup$