python画图时怎么在图中加一个可以选择之前给定的一个列表中变量名作为一个新的变量名去运行代码的可点击控件完整代码
时间: 2024-02-11 08:03:59 浏览: 21
好的,这里是一个完整的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.widgets import Button, Dropdown
# 定义一些变量和函数
var1 = np.random.rand(10)
var2 = np.random.rand(10)
var3 = np.random.rand(10)
def plot_function(var):
plt.cla()
plt.plot(var)
plt.title(var)
def button_callback(event):
print('Button clicked!')
def dropdown_callback(event):
var_name = event
if var_name == 'var1':
plot_function(var1)
elif var_name == 'var2':
plot_function(var2)
elif var_name == 'var3':
plot_function(var3)
# 创建Figure和Axes对象
fig, ax = plt.subplots()
# 绘制初始图形
plot_function(var1)
# 创建Button和Dropdown控件
button_ax = plt.axes([0.7, 0.05, 0.1, 0.075])
button = Button(button_ax, 'Click me')
button.on_clicked(button_callback)
dropdown_ax = plt.axes([0.1, 0.05, 0.2, 0.075])
dropdown = Dropdown(dropdown_ax, 'Variables', ['var1', 'var2', 'var3'])
dropdown.on_select(dropdown_callback)
# 显示图形
plt.show()
```
这个示例代码中,我们创建了三个变量 var1、var2、var3,分别用随机数生成了一组数据。然后定义了一个绘制函数 plot_function,根据传入的变量名绘制对应的数据图形。
在绘图前,我们先绘制一张 var1 的图形作为初始图形。接着,创建了一个 Button 控件和一个 Dropdown 控件,分别用于触发按钮点击事件和选择变量名。Button 控件的点击事件处理函数 button_callback 仅仅是输出一条消息。Dropdown 控件的选择事件处理函数 dropdown_callback 根据选择的变量名调用 plot_function 函数,绘制对应的数据图形。
最后,显示图形。运行代码,就可以看到 Matplotlib 图形中的 Button 和 Dropdown 控件了。