【发布时间】:2018-12-06 03:36:18
【问题描述】:
我正在使用 NetworkX 和 matplotlib 以 png 图像作为节点来绘制图形。这是我的代码:
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
#DRAWING EDGES ON AXIS
G.add_edges_from(([1,2],[3,4],[5,6],[7,8]))
pos = nx.circular_layout(G)
fig = plt.figure(figsize=(20, 20))
ax = plt.axes([0, 0, 15, 15])
ax.set_aspect('equal')
nx.draw_networkx_edges(G, pos, ax=ax, arrows=True)
#TRANSFORMING COORDINATES
trans = ax.transData.transform
trans2 = fig.transFigure.inverted().transform
#PUTTING IMAGE INSTEAD OF NODES
size = 0.2
p2 = size / 2.0
for n in G:
xx, yy = trans(pos[n])
xa, ya = trans2((xx, yy))
a = plt.axes([xa - p2, ya - p2, size, size])
a.set_aspect('equal')
a.imshow(image, aspect='auto')
a.axis('off')
plt.savefig('save.png')
plt.show()
Jupyter notebook 显示图表。但是,当我使用 Pycharm 时,它显示空白的白色图形。通过 plt.savefig() 保存也不起作用。我尝试在 plt.savefig() 中使用 dpi 但没有改变任何东西。将非常感谢任何线索。
【问题讨论】:
-
你能重新格式化你的代码吗?缩进 4 个空格告诉 stackoverflow 它是代码。有 '>' 告诉 stackoverflow 它是一个引号。
标签: python matplotlib networkx