现有多个列表,画折线图,刚开始我不知道显示哪一条,为了方便使用,我在显示的时候加上一个可以选择具体显示哪一条折线的功能,完整代码
时间: 2023-10-02 11:05:15 浏览: 41
好的,以下是一个示例代码,可以实现根据用户选择显示不同的折线图:
```python
import matplotlib.pyplot as plt
# 定义数据
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]
y3 = [3, 6, 9, 12, 15]
# 定义折线图函数
def plot_line(x, y, label):
plt.plot(x, y, label=label)
# 绘制折线图
plt.figure()
plot_line(x, y1, 'line1')
plot_line(x, y2, 'line2')
plot_line(x, y3, 'line3')
plt.legend(loc='upper left')
# 定义用户选择函数
def choose_line():
print('请选择要显示的折线图:')
print('1. line1')
print('2. line2')
print('3. line3')
choice = input()
if choice == '1':
plt.plot(x, y1, label='line1')
elif choice == '2':
plt.plot(x, y2, label='line2')
elif choice == '3':
plt.plot(x, y3, label='line3')
else:
print('无效的选择!')
# 循环询问用户选择
while True:
choose_line()
plt.legend(loc='upper left')
plt.show()
```
这个例子中,我们首先定义了三个列表 `y1`、`y2` 和 `y3`,然后定义了一个 `plot_line` 函数,用来绘制折线图。接着,我们在主函数中使用了该函数绘制了三条折线图,并使用 `plt.legend` 函数添加了图例。
然后,我们定义了一个 `choose_line` 函数,用来询问用户要选择显示哪条折线。在循环中,我们不断调用该函数,然后根据用户的选择,调用 `plt.plot` 函数重新绘制折线图,并使用 `plt.show` 函数显示图像。
需要注意的是,这个例子中我们使用了 `input` 函数来获取用户的输入,如果你的程序是在服务器上运行的,可能需要使用其他方式来获取用户的选择。