【发布时间】:2020-03-26 22:16:43
【问题描述】:
我正在尝试使用 NetworkX 制作网络图,但遇到了两个问题。我无法让背景颜色变为透明或白色,并且我被困在浅灰色背景中。当我尝试将此图保存为 png 时,它给了我一个空图像。
另外,我正在尝试根据节点的颜色向图表添加一个图例,但我不确定我在那里做错了什么。
有人可以帮忙解决这个问题吗?
plt.figure(figsize=(24,18))
plt.rcParams['figure.facecolor'] = 'white' # DOESN'T WORK
G = nx.Graph()
pos = nx.random_layout(G)
nx.draw_networkx_nodes(G, pos, alpha=0.5, linewidths=3, node_color=[x[1]['color'] for x in G.nodes(data=True)], node_size=[150*x[1]['size'] for x in G.nodes(data=True)])
nx.draw_networkx_labels(G, pos, font_size=10, font_color='#1b1b1b', font_weight='bold', font_family='sans-serif')
nx.draw_networkx_edges(G, pos, edge_color='grey', width=[0.4*x[2]['width'] for x in G.edges(data=True)])
plt.legend(dict_colors.values(), dict_colors.keys()) # DOESN'T WORK
plt.savefig("Network.png", transparent=True) # DOESN'T WORK
plt.show()
【问题讨论】:
-
在您的示例中,您的图表是空的。所以没什么可画的。你在别处定义你的图表吗?不知道为什么你会得到一个灰色的背景。
-
是的,我已经用一系列循环在别处定义了节点和边。该图显示正常,所以我没有包含该代码。
-
提供一个小例子会很有帮助。只是一些想法,您可能将节点设置得太小。
标签: python-3.x matplotlib data-visualization networkx