微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

显示图表时,我无法更改线条粗细

如何解决显示图表时,我无法更改线条粗细

我有一个数据集。我正在基于它构建多图。但是我不能更改线的粗细。

dict_value={'Источник':[10301.0,10301.0,10329.0,10332.0,10333.0,10334.0,174143.0,1030408.0,10306066.0],'Собеседник':[300.0,315.0,343.0,344.0,300.0,300.0],'Частота':[164975000,164975000,164437500,164975000],'БС LAC':[9,9,1,9],'Длительность':[20,3,2,3]}
session_graph=pd.DataFrame(dict_value)

session_graph

我的代码

plt.figure(figsize=(20,20))
G = nx.MultiDiGraph()
for row in session_graph.itertuples():
    if row[4]==1:
       G.add_edge(row[1],row[2],label=row[3],color="green",width=6)
    if row[4]==3:
       G.add_edge(row[1],color="red",width=0.4)
    if row[4]==4:
       G.add_edge(row[1],color="blue",width=0.4)
p=nx.drawing.nx_pydot.to_pydot(G)
p.write_png('multi.png')
Image(filename='multi.png')

赔率:

enter image description here

输出中,您可以看到所有厚度都相同,但是我需要它们不同。 不知道如何更改线宽。

解决方法

如果要更改边缘厚度,请在参数中添加penwidth

G = nx.MultiDiGraph() 
for row in session_graph.itertuples():
    if row[4]==1:
       G.add_edge(row[1],row[2],label=row[3],color="green",width=6,penwidth=6)
    if row[4]==3:
       G.add_edge(row[1],color="red",width=0.4,penwidth=1)
    if row[4]==4:
       G.add_edge(row[1],color="blue",penwidth=1)

如果用dot格式绘制图形,您将看到问题出在GraphViz中-它忽略了weight参数,但可以使用penwidth参数,因此您需要将其传递给图形库。
有关详细信息,请参见Graphviz,changing the size of edge问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。