如何使用 Python 在 Jupyter Notebook 中的 matplotlib 图旁边(而不是下方或上方)创建工作按钮?
How can I create working buttons next to (and not below or above) a matplotlib plot in Jupyter Notebook using Python?
我有 2 个按钮和一个图,彼此下方。代码:
from IPython.display import display
import matplotlib.pyplot as plt
button1 = widgets.Button(description="Yes")
display(button1)
button2 = widgets.Button(description="No")
display(button2)
def logyes(b):
print("yes")
def logno(b):
print("no")
button1.on_click(logyes)
button2.on_click(logno)
plt.figure(figsize=(3,3))
plt.plot([1,2],[3,4])
Jupyter Notebook 中的结果:
我希望绘图放在按钮旁边,而不是按钮下面。我尝试使用 this example,并将以 axprev
和 axnext
开头的行更改为:
axprev = plt.axes([-0.2, 0.75, 0.2, 0.1])
axnext = plt.axes([-0.2, 0.65, 0.2, 0.1])
得到结果:
这是正确的方向(绘图在按钮旁边,而不是在按钮下方),但是这些按钮(Previous
、Next
)在 Jupyter Notebook 中不起作用,因为它们不是 IPython 小部件。
如何在 Jupyter Notebook 中的绘图旁边创建工作按钮?
Matplotlib 和 ipywidgets 似乎经常出现在 SO 上。一种常见的方法是使用 Output
小部件而不是直接绘制到标准输出,并使用标准的 %matplotlib inline
魔法。您可以使用 VBox
和 HBox
容器小部件来操纵小部件布局。
我不清楚您希望您的按钮做什么,但这是一个示例,说明如何按照所需的排列布置小部件,
%matplotlib inline
import ipywidgets as widgets
import matplotlib.pyplot as plt
button1 = widgets.Button(description="Yes")
button2 = widgets.Button(description="No")
out = widgets.Output()
buttons = widgets.VBox(children=[button1, button2])
all_widgets = widgets.HBox(children=[buttons, out])
display(all_widgets)
def logyes(b):
print("yes")
def logno(b):
print("no")
button1.on_click(logyes)
button2.on_click(logno)
with out:
plt.figure(figsize=(3,3))
plt.plot([1,2],[3,4])
plt.show()
我有 2 个按钮和一个图,彼此下方。代码:
from IPython.display import display
import matplotlib.pyplot as plt
button1 = widgets.Button(description="Yes")
display(button1)
button2 = widgets.Button(description="No")
display(button2)
def logyes(b):
print("yes")
def logno(b):
print("no")
button1.on_click(logyes)
button2.on_click(logno)
plt.figure(figsize=(3,3))
plt.plot([1,2],[3,4])
Jupyter Notebook 中的结果:
我希望绘图放在按钮旁边,而不是按钮下面。我尝试使用 this example,并将以 axprev
和 axnext
开头的行更改为:
axprev = plt.axes([-0.2, 0.75, 0.2, 0.1])
axnext = plt.axes([-0.2, 0.65, 0.2, 0.1])
得到结果:
这是正确的方向(绘图在按钮旁边,而不是在按钮下方),但是这些按钮(Previous
、Next
)在 Jupyter Notebook 中不起作用,因为它们不是 IPython 小部件。
如何在 Jupyter Notebook 中的绘图旁边创建工作按钮?
Matplotlib 和 ipywidgets 似乎经常出现在 SO 上。一种常见的方法是使用 Output
小部件而不是直接绘制到标准输出,并使用标准的 %matplotlib inline
魔法。您可以使用 VBox
和 HBox
容器小部件来操纵小部件布局。
我不清楚您希望您的按钮做什么,但这是一个示例,说明如何按照所需的排列布置小部件,
%matplotlib inline
import ipywidgets as widgets
import matplotlib.pyplot as plt
button1 = widgets.Button(description="Yes")
button2 = widgets.Button(description="No")
out = widgets.Output()
buttons = widgets.VBox(children=[button1, button2])
all_widgets = widgets.HBox(children=[buttons, out])
display(all_widgets)
def logyes(b):
print("yes")
def logno(b):
print("no")
button1.on_click(logyes)
button2.on_click(logno)
with out:
plt.figure(figsize=(3,3))
plt.plot([1,2],[3,4])
plt.show()