下拉小部件可在图形中生成多条线

问题描述

在Jupyter Notebook中,我正在努力寻找一种基于向量中的值生成多行的方法。 这是我的代码

Year = [0,1,2,3,4]
CH = [5,10,20,30,40]
DE = [15,25,45]
US = [0,40,60]
plt.plot(Year,US,color='red',marker='o')

这将生成一个带有美国值的图形。我想要一个小部件(下拉菜单),让用户选择自己选择的国家(CH,US,DE),并在图形中生成新行。

有什么主意吗?

解决方法

您可以使用ipywidgets模块。

在下面的代码片段中,数据存储在列表中,并且下拉选项与列表索引值相对应。

import ipywidgets as widgets
from matplotlib import pyplot as plt

Year = [0,1,2,3,4]
data = [[5,10,20,30,40],[15,25,45],[0,40,60]]

w = widgets.Dropdown(
    options=[('CH',0),('DE',1),('US',2)],value=2,description='Country:',)

display(w) # display the widget

plt.plot(Year,data[w.value],color='red',marker='o')

编辑:屏幕抓取已添加。

Screen capture of functioning code.

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...