在mathematica矩阵图中使用2种颜色函数

时间:2013-08-19 13:55:29

标签: function colors wolfram-mathematica

我正在尝试在mathematica中的一个矩阵图中使用2种颜色函数。这可能吗?

例如,使用一个非常简单的矩阵:

test = Partition[Table[i, {i, 1, 9}], 3]

我想让偶数颜色从白色变为红色;奇数的颜色从灰色变为黑色。

我怎么能这样做?我知道如何让整个矩阵的颜色变化,但不超过这个。

1 个答案:

答案 0 :(得分:2)

您可以尝试定义ColorFunction,如下所示。

CheckerPlot[array_?MatrixQ] :=
    With[{len = Length[Flatten[array]]}, 
        ArrayPlot[array,
                  ColorFunction->(If[EvenQ[#], Blend[{White, Red}, #/len], 
                                               Blend[{Gray,Black}, #/len]] &), 
                  ColorFunctionScaling -> False]
    ]

使用例如

执行
CheckerPlot[Partition[Table[i, {i,1,36}], 5]]