是否可以使用颜色函数在 Wolfram Mathematica 中为图形的边缘着色,这取决于边缘上的坐标?就像在 Plot[] 中使用 ColorFunction 选项一样。
我在图的边缘指定了一个函数,具体取决于边缘的坐标。是否可以在边缘绘制此功能的密度?感谢您的回复。
PS:第一个想法——在EdgeRenderingFunction中使用Inset[]插入图形彩色对象,但似乎很不自然。有没有简单的方法?
是否可以使用颜色函数在 Wolfram Mathematica 中为图形的边缘着色,这取决于边缘上的坐标?就像在 Plot[] 中使用 ColorFunction 选项一样。
我在图的边缘指定了一个函数,具体取决于边缘的坐标。是否可以在边缘绘制此功能的密度?感谢您的回复。
PS:第一个想法——在EdgeRenderingFunction中使用Inset[]插入图形彩色对象,但似乎很不自然。有没有简单的方法?
ColorFunction
在图表中为边缘着色的 一种方法是:
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]
给