我在向 NetworkX 圖表添加圖例時遇到問題(已檢查過以前的問題,但到目前為止,q 和 a 僅針對半相關問題)。
我希望能夠根據節點屬性映射我的網路并為節點著色(在我在這里使用的示例中,屬性是'sex'(m / f)但我也有具有更多類別或哪些屬性的屬性是數字)。我還想要一個圖例來顯示哪種顏色代表哪個類別(在分類屬性的情況下)。
到目前為止,我已經能夠根據屬性為節點著色,但無法向圖表添加圖例。我已經嘗試了很多東西,但似乎沒有任何東西可以正常作業!有人對我如何添加圖例有任何建議嗎?
到目前為止,這是我的代碼:
nodes_colors = []
for node in property_crime.nodes:
if property_crime.nodes[node]["sex"] == "f":
nodes_colors.append('blue')
else:
nodes_colors.append('orange')
nx.draw(property_crime, node_color=nodes_colors, node_size=15)
plt.show()
這是回傳的影像:在此處輸入影像描述
請注意,“property_crime”是一個圖形物件。該圖是無向的并且沒有加權。
謝謝你的幫助!
uj5u.com熱心網友回復:
嘗試在之前添加這些行plt.show():
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
legend_elements = [Line2D([0], [0], marker='o', color='blue', label='Female', lw=0,
markerfacecolor='blue', markersize=10),
Line2D([0], [0], marker='o', color='orange', label='Male', lw=0,
markerfacecolor='orange', markersize=10)]
ax = plt.gca()
ax.legend(handles=legend_elements, loc='upper right')
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/475965.html
標籤:Python matplotlib 网络x
