用单选按钮组绘制三幅不同图像的代码,使用plot命令进行绘制
时间: 2024-05-16 13:16:27 浏览: 64
以下是一个例子,使用单选按钮组绘制三个不同的图像:
```python
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import RadioButtons
# 定义三个不同的函数用于绘制
def func1(x):
return np.sin(x)
def func2(x):
return np.cos(x)
def func3(x):
return np.tan(x)
# 创建画布和子图
fig, ax = plt.subplots()
plt.subplots_adjust(left=0.3)
# 绘制初始图像
x = np.linspace(-np.pi, np.pi, 1000)
y = func1(x)
line, = ax.plot(x, y)
# 定义单选按钮组
rax = plt.axes([0.05, 0.5, 0.2, 0.3], facecolor='lightgray')
radio = RadioButtons(rax, ('sin', 'cos', 'tan'))
# 定义单选按钮组的回调函数
def update_func(label):
if label == 'sin':
line.set_ydata(func1(x))
elif label == 'cos':
line.set_ydata(func2(x))
else:
line.set_ydata(func3(x))
fig.canvas.draw_idle()
radio.on_clicked(update_func)
plt.show()
```
在这个例子中,我们使用 `RadioButtons` 类创建了一个单选按钮组,并将其放置在画布的左侧。每个按钮上的标签分别设置为 `'sin'`、`'cos'` 和 `'tan'`,分别对应于三个不同的函数。当用户点击其中一个按钮时,回调函数 `update_func` 将被调用,根据所选的函数更新图像的数据并重新绘制图像。
阅读全文