# Set the same color scale across multiple ListContourPlots?

This is probably straightforward - but how would I set the same color scale across multiple ListContourPlots?

if I have values from 10 to 25 on one ListContourPlot and values from 40 to 100 on another, I would like a legend that goes from 0 to 100 for both plots so that the same colors do not appear on both ListContourPlots for different values.

## 2 Answers

You can use the same color scale in both plots together with the option ColorFunctionScaling -> False:

data1 = RandomReal[{10, 25}, {10, 10}];
data2 = RandomReal[{40, 100}, {10, 10}];
bl = BarLegend[{"Rainbow", {0, 100}}, 50];

lcp1 = ListContourPlot[data1, InterpolationOrder -> 3, ImageSize -> 300,
ColorFunctionScaling -> False, ColorFunction -> ColorData[{"Rainbow", {0, 100}}]];
lcp2 = ListContourPlot[data2, InterpolationOrder -> 3, ImageSize -> 300,
ColorFunctionScaling -> False, ColorFunction -> ColorData[{"Rainbow", {0, 100}}]];

Legended[Row[{lcp1, lcp2}, Spacer], bl] If you don't know a priori the function ranges you could use something like this:

makePlots[list_] := Module[{vals = {}, ss},
plot[n_, scale_, mode_] :=
ListContourPlot[n, InterpolationOrder -> 3, ColorFunctionScaling -> False, ImageSize -> 300,
ColorFunction ->
Function[{z}, If[mode == 0, vals = Join[vals, {z}]]; ColorData[{"TemperatureMap", scale}][z]]];
plot[#, {0, 1}, 0] & /@ list;
ss = {Min @@ vals, Max @@ vals};
Row[Join[ plot[#, ss, 1] & /@ list, {BarLegend[{"TemperatureMap", ss}]}]]]

n1 = RandomReal[RandomReal, {10, 10}];
n2 = RandomReal[RandomReal, {10, 10}];
makePlots[{n1, n2}] 