2013-08-19 24 views
1

我試圖在mathematica中的一個矩陣圖內使用2種顏色函數。這可能嗎?在mathematica矩陣圖中使用2種顏色函數

例如,使用非常簡單的矩陣:

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

我想使偶數中顏色從白色到紅色的變化增加;奇數的顏色從灰色變成黑色。

我該怎麼做?我知道如何讓整個矩陣的顏色變化,但不超過這個。

+0

[交張貼](http://mathematica.stackexchange.com/q/30736/52)同時在不同的位點stackexchange是不可取。 – rcollyer

+0

這個問題似乎是無關緊要的,因爲它已經在Mathematica上交叉發佈。 http://mathematica.stackexchange.com/questions/30736/using-two-color-functions-in-a-matrixplot –

回答

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]]