python输出节点度取对数,并进行可视化
时间: 2024-02-21 15:34:51 浏览: 101
用Python实现数据可视化
可以使用Python库networkx来计算节点度数并进行可视化。以下是示例代码:
```python
import networkx as nx
import matplotlib.pyplot as plt
# 创建一个图
G = nx.Graph()
# 添加节点
G.add_nodes_from([1, 2, 3, 4, 5])
# 添加边
G.add_edges_from([(1, 2), (1, 3), (2, 3), (3, 4), (4, 5), (5, 1)])
# 计算节点度数
degree = dict(G.degree())
log_degree = {k: round(math.log(v), 2) for k, v in degree.items()}
# 可视化
pos = nx.circular_layout(G)
nx.draw_networkx_nodes(G, pos, node_size=[v * 100 for v in log_degree.values()], node_color='r')
nx.draw_networkx_labels(G, pos, labels=log_degree, font_size=10, font_color='w')
nx.draw_networkx_edges(G, pos, width=1)
plt.axis('off')
plt.show()
```
运行上述代码,将得到一个节点大小和标签都是节点度数取对数的网络图。
阅读全文