Question: How to define an absolute color scale in matrixplot?

Hi, 

I need to plot some correlation matrices C1, C2, ... and I use matrixplot for this.
I would like to use the same absolute scale (-1..+1) for all of them.
For instance is I decide to uses colorscheme=["blue", "white", "red"] I would like blue to correspond to value -1, white to value 0 and red to value 1.
Unfortunately colorscheme set to blue the cell with the mininum value (not necessarily -1) and to red the maximum one (not necessarily +1).
Here is an example

restart:
with(plots):
with(Statistics):
randomize():
N := 10:
P := 3:
A := Sample(Uniform(0, 1), [N, P]):
C := CorrelationMatrix(A):
matrixplot(
  C,

 heights=histogram,
 axes=frame,
​​​​​​​  gap=0.25,
​​​​​​​  color=((x,y)->(C[x,y]+1)/2),
​​​​​​​  orientation=[0, 0, 0],
​​​​​​​  lightmodel=none,
​​​​​​​  tickmarks=[[seq(i+1/2=A||i, i=1..P)], [seq(i+1/2=A||i, i=1..P)], default],
​​​​​​​  labels=[("")$3]​​​​​​​
​​​​​​​  );


​​​​​​​I also tried to use color=((x,y) -> (C[x, y]+1)/2) instead of colorscheme but here again matrixplot uses a local scale defined by the reange of the correlation matrix to plot.

I fixed this by using something like seq(seq(PLOT(POLYGONS(...), i=1..P), j=1..P) instead of matrixplot, but I think it is a shame to do so.

So my question: is it possible to force matrixplot not to use a scale defined by the matrix to plot, but a "user" scale?

PS: I'm using Maple 2015 


Thanks in advance

Please Wait...