Python networkx:具有一致节点放置的多个图形
我正在使用networkx绘制同一图形的多个图形,因为我在图形中添加了越来越多的边。这些数字包含在幻灯片中的连续幻灯片中 我希望每个图形中的节点显示在每个图形中完全相同的位置。不幸的是,尽管我对每个绘图使用相同的定位数据,但每次添加靠近图形侧面的边时,图形都会缩小一点 这就是我的意思: 这是我目前正在使用的代码:Python networkx:具有一致节点放置的多个图形,python,networking,matplotlib,graphviz,beamer,Python,Networking,Matplotlib,Graphviz,Beamer,我正在使用networkx绘制同一图形的多个图形,因为我在图形中添加了越来越多的边。这些数字包含在幻灯片中的连续幻灯片中 我希望每个图形中的节点显示在每个图形中完全相同的位置。不幸的是,尽管我对每个绘图使用相同的定位数据,但每次添加靠近图形侧面的边时,图形都会缩小一点 这就是我的意思: 这是我目前正在使用的代码: import networkx as nx import matplotlib.pyplot as plt from networkx.drawing.nx_agraph impor
import networkx as nx
import matplotlib.pyplot as plt
from networkx.drawing.nx_agraph import graphviz_layout
num_nodes = 100
num_edges = range(10, 80, 5)
file_name = "evolution1"
G = nx.gnm_random_graph(num_nodes, num_edges[-1])
pos = graphviz_layout(G, prog="neato")
for (i, ne) in enumerate(num_edges):
plt.figure(figsize=(4,3))
nx.draw(G,
pos,
with_labels=False,
node_size=15,
node_color="black",
edgelist=G.edges()[:ne])
plt.axis('off')
plt.savefig(file_name + "-%s.pdf" %i, format="pdf",
transparent=True)
我想要的是,在每个连续的幻灯片上,节点都保持在同一个停止位置,这将更加视觉愉悦。有人能帮我吗
另外,如果这是相关的,我在幻灯片中放置数字的方式(用LaTeX/Beamer制作)是
\begin{center}
\multiinclude[][start=0,format=pdf]{pics/evolution1}
\结束{中心}
提前感谢您的帮助 我自己找到了一个答案,给任何感兴趣的人。解决方案是调用plt.xlim和plt.ylim。我补充说:
maxx = max([coor[0] for coor in pos.values()])
maxy = max([coor[1] for coor in pos.values()])
然后,在将图形保存到文件之前,添加
plt.xlim([-10, maxx + 10])
plt.ylim([-10, maxy + 10])
这就解决了问题
plt.xlim([-10, maxx + 10])
plt.ylim([-10, maxy + 10])