Set the same color scale across multiple ListContourPlots?

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[5]], bl]

enter image description here


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[1], {10, 10}];
n2 = RandomReal[RandomReal[2], {10, 10}];
makePlots[{n1, n2}]

Mathematica graphics