用python绘制同心圆,并设置每个同心圆的颜色不同
时间: 2024-11-25 21:14:40 浏览: 14
python画同心圆源码
在Python中,我们可以使用matplotlib库来绘制同心圆并设置不同颜色。这里我们使用`artist`模块中的`Circle`和`Arc`对象,以及`PatchCollection`来创建一组不同颜色的同心圆。以下是一个简单的示例:
```python
import matplotlib.pyplot as plt
from matplotlib.patches import Circle, Arc
import numpy as0 np
# 设置图形大小和背景色
fig, ax = plt.subplots(figsize=(6, 6), facecolor='white')
# 定义同心圆的半径和数量
radii = np.linspace(5, 25, num=5) # 同心圆半径范围
angles = np.linspace(0, 2*np.pi, num=180, endpoint=False) # 角度范围
colors = ['red', 'green', 'blue', 'yellow', 'purple'] # 颜色列表
# 创建一个空的图集
collections = []
for r, angle in zip(radii, angles):
# 创建圆形
circle = Circle((0, 0), r)
# 创建扇形(如果需要)
# arc = Arc((0, 0), 2 * r, 2 * r, theta1=angle, theta2=angle+np.pi)
# 绘制形状并添加到图集中
patch = ax.add_patch(circle)
patch.set_facecolor(colors.pop()) # 使用剩余颜色列表中的下一个颜色
collections.append(patch)
# 添加图集到轴上,自动调整它们的位置和大小
pc = PatchCollection(collections, match_original=True)
ax.add_collection(pc)
# 显示图形
plt.title("Concentric Circles with Different Colors")
plt.grid(False)
plt.show()
```
在这个例子中,我们将创建五个同心圆,从大到小分布在中心,每个圆的颜色都会按照给定的颜色列表循环使用。如果你希望改变颜色、圆的数量或者其他参数,你可以修改相应的变量。
阅读全文