4

エッジの座標に依存する色関数を使用して、Wolfram Mathematica でグラフのエッジに色を付けることは可能ですか? Plot[] で ColorFunction オプションを使用するのと同様です。

端の座標に応じて、グラフの端に指定された関数があります。この関数の密度をエッジにペイントすることは可能ですか? 返信ありがとうございます。

PS: 最初のアイデア - Inset[] を使用して EdgeRenderingFunction のグラフィカルな色付きオブジェクトをプラグインしますが、これはかなり不自然に思えます。簡単な方法はありますか?

4

1 に答える 1

5

ColorFunctionグラフのエッジに色を付ける ために使用する 1 つの方法は次のとおりです。

  ClearAll[colorededge];
  colorededge[pts_, colorfunc_: Function[{x, y}, ColorData["TemperatureMap"][y]]] := 
  ListPlot[pts, Joined -> True, PlotStyle -> Thick, Axes -> False, 
  ColorFunction -> colorfunc, ColorFunctionScaling -> True];
  edgshpfnc = (If[Last[#2] == "B", First@colorededge[#1], 
  First@colorededge[#1, Function[{x, y}, Blend[{Yellow, Red}, x]]]] &);
  Graph[{"A" -> "B", "B" -> "C", "C" -> "A"}, 
  VertexCoordinates -> {"A" -> {0, 0}, "B" -> {1, 1}, "C" -> {2, 0}}, 
  EdgeShapeFunction -> edgshpfnc, VertexLabels -> "Name",  ImagePadding -> 10]

与える

ここに画像の説明を入力

 GraphPlot[{"A" -> "B", "B" -> "C", "C" -> "A"},
 EdgeRenderingFunction -> edgshpfnc, VertexLabeling -> True]

与える

ここに画像の説明を入力

于 2012-05-15T03:18:14.237 に答える