Python Jupyter中的交互式绘图会导致附加后续绘图
我试图在Jupyter中创建一个交互式绘图,但它有一个问题,那就是每次我点击按钮生成绘图时,都会追加一个新的绘图,而不是替换当前的绘图。关于如何解决这个问题有什么想法吗Python Jupyter中的交互式绘图会导致附加后续绘图,python,matplotlib,jupyter-notebook,jupyter,ipywidgets,Python,Matplotlib,Jupyter Notebook,Jupyter,Ipywidgets,我试图在Jupyter中创建一个交互式绘图,但它有一个问题,那就是每次我点击按钮生成绘图时,都会追加一个新的绘图,而不是替换当前的绘图。关于如何解决这个问题有什么想法吗 field_ddl = widgets.Dropdown( options=['race', 'gender', 'grade'], value='race', description='field:', disabled=False, button_style='info' ) grap
field_ddl = widgets.Dropdown(
options=['race', 'gender', 'grade'],
value='race',
description='field:',
disabled=False,
button_style='info'
)
graph_btn = widgets.Button(
description='graph',
disabled=False,
button_style='success',
tooltip='distribution plot',
icon='check'
)
def graph_btn_clicked(e):
field = field_ddl.value
df[field].value_counts().plot(kind='bar', title=field)
graph_btn.on_click(graph_btn_clicked)
display(field_ddl)
display(graph_btn)
我已经查找了该功能,但似乎没有帮助。初始化时,会生成一个图形,但当我选择另一个字段并再次点击按钮时,什么也不会发生
interact(graph_btn_clicked, x=graph_btn)
您可以使用交互式后端
%matplotlib notebook
然后创建要打印的图形和轴
fig, ax = plt.subplots()
然后,每次单击按钮时,清除旧绘图并将新绘图绘制到相同的轴上
def graph_btn_clicked(e):
field = field_ddl.value
ax.clear()
df[field].value_counts().plot(kind='bar', title=field, ax=ax)
我想这和这个问题是一样的:
%matplotlib笔记本
似乎与%matplotlib内联
冲突。使用这种方法,我是否需要根据需要在两者之间切换?