python 怎么画多重图
时间: 2023-08-12 19:08:57 浏览: 47
在 Python 中,可以使用 NetworkX 库来绘制多重图。多重图是指图中可以有多条连接两个节点的边,每条边可以有不同的权重或属性。
下面是使用 NetworkX 库绘制多重图的示例代码:
```python
import networkx as nx
import matplotlib.pyplot as plt
# 创建一个空的多重图形对象
G = nx.MultiGraph()
# 添加多重边
G.add_edge("A", "B", weight=1, color="r")
G.add_edge("A", "B", weight=2, color="g")
G.add_edge("B", "C", weight=3, color="b")
# 绘制多重图
pos = nx.spring_layout(G)
edges = G.edges()
colors = [G[u][v][0]['color'] for u,v in edges]
weights = [G[u][v][0]['weight'] for u,v in edges]
nx.draw_networkx_edges(G, pos, edgelist=edges, edge_color=colors, width=weights)
# 显示图形
plt.show()
```
该代码将会绘制一个多重图,其中 "A" 和 "B" 之间有两条边,分别有不同的权重和颜色,"B" 和 "C" 之间有一条边。
相关问题
Python画直方图
Python中画直方图可以使用matplotlib库中的hist函数来实现。具体步骤如下:
1. 导入matplotlib库和numpy库,生成需要绘制的数据
```python
import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(1000)
```
2. 使用hist函数绘制直方图
```python
plt.hist(data, bins=20)
plt.show()
```
其中,data是需要绘制的数据,bins是直方图的柱子数。
3. 可以使用其他函数来设置直方图的样式,例如设置柱子颜色、边框颜色等等
```python
plt.hist(data, bins=20, color='steelblue', edgecolor='black')
plt.show()
```
Python画方块图
根据提供的引用内容,我了解到您想了解如何使用Python画方块图。如果您想画俄罗斯方块图,可以参考引用中提供的Python课程设计之俄罗斯方块。如果您只是想画简单的方块图,可以使用Python的turtle库来实现。以下是一个简单的例子:
```python
import turtle
# 设置画笔
pen = turtle.Turtle()
pen.speed(0)
pen.color("black")
pen.penup()
# 画方块
def draw_square(x, y, size):
pen.goto(x, y)
pen.pendown()
for i in range(4):
pen.forward(size)
pen.right(90)
pen.penup()
# 画多个方块
draw_square(-100, 100, 50)
draw_square(0, 100, 50)
draw_square(100, 100, 50)
draw_square(-100, 0, 50)
draw_square(0, 0, 50)
draw_square(100, 0, 50)
draw_square(-100, -100, 50)
draw_square(0, -100, 50)
draw_square(100, -100, 50)
# 隐藏画笔
pen.hideturtle()
# 显示画布
turtle.done()
```
这段代码使用turtle库画了一个3x3的方块图。您可以根据需要修改方块的位置和大小。如果您想了解更多关于turtle库的信息,可以参考Python官方文档。