【发布时间】:2010-11-03 21:11:19
【问题描述】:
我想以编程方式创建这样的图表
(来源:yaroslavvb.com)
我想我应该将 GraphPlot 与 VertexCoordinateRules、VertexRenderingFunction 和 EdgeRenderingFunction 一起用于图形。我应该为彩色斜面背景使用什么?
编辑 主要使用西蒙的想法,这是我最终使用的简化的“不太健壮”的版本
需要["GraphUtilities`"]; GraphPlotHighlight[edges_, verts_, color_] := Module[{}, vpos = Position[VertexList[edges], Alternatives @@ verts]; coords = Extract[GraphCoordinates[edges], vpos]; (* 添加 .002,因为当段几乎共线时,端盖消失 *) AppendTo[coords, First[coords] + .002]; Show[Graphics[{color, CapForm["Round"], JoinForm["Round"], 厚度[.2],线[坐标],多边形[坐标]}], GraphPlot[边],ImageSize -> 150] ] SetOptions[GraphPlot, VertexRenderingFunction -> ({White, EdgeForm[Black], Disk[#, .15], 黑色,文本[#2,#1]} &), EdgeRenderingFunction -> ({Black, Line[#]} &)]; 边缘 = GraphData[{"Grid", {3, 3}}, "EdgeRules"]; 颜色 = {LightBlue,LightGreen,LightRed,LightMagenta}; vsets = {{8, 5, 2}, {7, 5, 8}, {9, 6, 3}, {8, 1, 2}}; MapThread[GraphPlotHighlight[edges, #1, #2] &, {vsets, colors}]
(来源:yaroslavvb.com)
【问题讨论】:
-
您是如何制作问题中使用的图表的?
-
在网上找到它们。我怀疑它是用一些乳胶包完成的
-
Wolfram 大约 9:15 在youtube.com/watch?v=8afAaSiwD78 中谈到了一个“高亮图形函数”——也许它会在下一个版本中内置?
-
有趣...顺便说一句,看起来 TechCon 演示笔记本已经发布(虽然不是 Wolfram 的)——wolfram.com/events/techconf2010/speakers.html
标签: wolfram-mathematica graph-drawing