2
編碼圖是我的示例代碼顏色數學
Morb = 3;
NPar = 5;
Sols = Solve [
Append[Array[n[#] >= 0 &, Morb], Array[n, Morb, 1, Plus] == NPar],
Integers];
CIElements = Array[n, Morb] /. Sols;
OpOB[ij_, Ind1_] := (
If[Part[ Ind1, Part[ij, 2]] != 0,
Ind2 = Ind1;
Part[Ind2, Part[ij, 1]] = Part[Ind1, Part[ij, 1]] + 1;
Part[Ind2, Part[ij, 2]] = Part[Ind1, Part[ij, 2]] - 1;
, Ind2 = 0 ];
Return[Ind2]
)
GenerateEdge[ij_, Ind1_] := Ind1 \[DirectedEdge] OpOB[ij, Ind1]
OpSol = Solve[{i < j, i > 0, i <= Morb, j > 0, j <= Morb}, {i, j},
Integers];
OpLabels = {i, j} /. OpSol;
MapList = {};
Do[
If[Length[OpOB[ii, jj]] != 0,
AppendTo[ MapList, GenerateEdge[ ii, jj] ],
Unevaluated[Sequence[]]],
{ii, OpLabels}, {jj, CIElements}]
Graph[MapList]
我產生邊緣叫MAPLIST的列表,它生成的圖表就好了。但是,我想根據OpLabels的哪個元素生成邊緣來對圖形的邊緣進行顏色編碼。我可以很容易地修改我的Do[ ]
子句以包含一些標籤,稍後將其解釋爲顏色。然而,其他的解決方案,我已經遇到過,比如
明確列出的不同顏色的數量。這裏的顏色數量取決於Morb
的值,所以我可以提前指定。有什麼方法可以簡單地用數字標記每個邊,然後根據某些預定義的調色板按數字選取顏色?
非常好!感謝您的及時回覆。這正是我所期待的。 –