我正在编写一个程序,为特定的输入字符串生成可满足的模型(连接图)。这里的细节并不重要,但主要问题是每个节点都有一个标签,这样的标签可能很长。所以,会发生的是,它不适合图形,导致显示所有节点但部分标签部分显示...此外,显示的图形不提供缩小选项,因此无法捕获整个图表上有一个完整的标签。
有人可以帮助我,也许可以建议一个解决方案吗?
for i in range(0,len(Graphs)):
graph = Graphs[i]
custom_labels={}
node_colours=['y']
for node in graph.nodes():
custom_labels[node] = graph.node[node]
node_colours.append('c')
#nx.circular_layout(Graphs[i])
nx.draw(Graphs[i], nx.circular_layout(Graphs[i]), node_size=1500, with_labels=True, labels = custom_labels, node_color=node_colours)
#show with custom labels
fig_name = "graph" + str(i) + ".png"
#plt.savefig(fig_name)
plt.show()
答案 0 :(得分:1)
你可以缩放数字
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edge('a'*50,'b'*50)
nx.draw(G,with_labels=True)
plt.savefig('before.png')
l,r = plt.xlim()
print(l,r)
plt.xlim(l-2,r+2)
plt.savefig('after.png')
答案 1 :(得分:0)
您可以使用font_size
参数缩小字体大小:
nx.draw(Graphs[i], nx.circular_layout(Graphs[i]), ... , font_size=6)