# How can I force the z-scale of a ContourPlot to plot between (0, 1) if the data is < 1.

I'm plotting reflectivity, transmission and absorption data as a function of wavelength and angle on a ContourPlot. I want all the plots to be between 0 and 1 for comparison. However, some of the plot have data < 1 in all regions, and so the data will only plot between the lowest and the highest value.

I'm plotting the data using:

ContourPlot[Evaluate[{Absp}, {A0, 0.0, 90.0}, {lam, 300, 2000}],
PlotLabel -> "",
FrameLabel -> {"Angle (\[Degree])", "Wavelength (nm)"},
ContourStyle -> Opacity[0.04], ColorFunction -> "TemperatureMap",
Frame -> {True, True, True, True},
PlotRange -> {{10, 80}, {900, 2000}, {0, 1}},
PlotRangePadding -> None, Contours -> 150, ContourLabels -> None,
PlotLegends -> Automatic, MaxRecursion -> 3]


As you can see, I've attempted to set the PLotRange for the z data to {0,1}, but the data persists in plotting between the lowest and highest values. (See attached image)

How can I force this to be plotted between 0 and 1?

• 1. What is Absp? 2. Try ColorFunctionScaling -> False, since you said that it's guaranteed your heights are within $[0,1]$. – J. M. will be back soon Mar 29 '18 at 14:25
• Try to use Scale[] – OkkesDulgerci Mar 29 '18 at 14:25
• PlotRange does not scale the respective variables in their corresponding ranges; it simply uses the specified ranges when displaying the plot; since using ScalingFunctions doesn't seem to amount to much (or I couldn't make it work) perhaps you should consider Rescale-ing your data before plotting them – user42582 Mar 30 '18 at 7:17