我正在尝试使用Kleinrock v.1的第30页上的例子来演示离散时间马尔可夫链的演化。这非常有效:
p = {
{0, 3/4, 1/4},
{1/4, 0, 3/4},
{1/4, 1/4, 1/2}
}
Animate[BarChart[{0, 1, 0}.MatrixPower[p, n], PlotRange -> 1,
ChartLabels -> {"Kyoto", "Tokyo", "Osaka"},
Epilog -> {Text[Style[n, Bold, 14],
Scaled[{.05, .9}], {-1, 0}]}], {n, 0, 10, 1}, AnimationRate -> 1,
AnimationRunning -> False, RefreshRate -> 30]
下一步,我想绘制状态图itself...and,我在尝试按我想要的方式将标签放在顶点和边上时遇到了困难。这将使用城市名称标记顶点:
cities = {"Kyoto", "Tokyo", "Osaka"}
GraphPlot[p, DirectedEdges -> True, VertexLabeling -> True,
MultiedgeStyle -> All, SelfLoopStyle -> All, EdgeLabeling -> True,
VertexRenderingFunction -> ({White, EdgeForm[Black], Disk[#, .1],
Black, Text[cities[[#2]], #1]} &)]
这给出了一个不太漂亮但可用的图形视图,其中包含从矩阵获得的边权重:
WeightedAdjacencyGraph[p, EdgeLabels -> "EdgeWeight"]
但我无论如何也想不出如何将两者结合起来。
最终,我的计划是在顶点的圆圈旁边绘制一个条形图,就像上面动画中的相应条形图一样,所以我真的需要一些绘图函数来修改顶点渲染。(我相信我稍后会带着更多的问题回来……)
fwiw,这是Mac上的Mathematica 11.0.1.0。
感谢您的帮助!
https://stackoverflow.com/questions/50868240
复制相似问题