- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 widget events制作交互式图表。
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import ipywidgets as widgets
def myplot(n):
x = np.linspace(-5, 5, 30)
y = x**n
fig, ax = plt.subplots(nrows=1, ncols=1);
ax.plot(x, y)
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()
widgets.interact(myplot, n=(0,5));
n_widget = widgets.IntSlider(
value=2,
min=0,
max=5)
def on_value_change(change):
myplot(n=n_widget.value)
n_widget.observe(on_value_change)
display(n_widget)
ipywidgets 7.1.0
jupyter 1.0.0
jupyter_client 5.2.1
jupyter_console 5.2.0
jupyter_core 4.4.0
matplotlib 2.1.1
notebook 5.3.1
numpy 1.14.0
最佳答案
请注意,以下是 ipywidgets 版本 < 7.0 的有效解决方案。对于 ipywidgets >= 7.0 的解决方案,请参阅 this GitHub issue .
虽然在许多简单的情况下 plt.show()
可以很好地替换单元格的输出,但情况并非总是如此。在 Jupyter 中使用交互式元素时,使用 IPython.display.display
通常更有帮助。 .
在这里,您可能不想为每个交互创建一个新图。相反,只需为绘图设置新数据就足够了。然后您可以自动缩放新数据的绘图并显示图形。您可以使用 IPython.display.clear_output
显示新图形后清除输出。这确保在输出单元格中始终存在单个图,与 interact
的使用无关或 observe
.
def myplot(n):
line.set_ydata(x**n)
ax.relim()
ax.autoscale()
display(fig)
clear_output(wait=True)
# cell 1
%%capture
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import display, clear_output
import ipywidgets as widgets
fig, ax = plt.subplots(nrows=1, ncols=1);
x = np.linspace(-5, 5, 30)
y = x**0
line, = ax.plot(x, y)
ax.set_xlabel('x')
ax.set_ylabel('y')
def myplot(n):
line.set_ydata(x**n)
ax.relim()
ax.autoscale()
display(fig)
clear_output(wait=True)
#cell2
widgets.interact(myplot, n=(0,5));
#cell3
n_widget = widgets.IntSlider(
value=2,
min=0,
max=5)
def on_value_change(change):
myplot(n=n_widget.value)
n_widget.observe(on_value_change)
display(n_widget)
关于python-3.x - 与 ipywidgets 事件交互和绘图会产生许多图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48380967/
是否可以使 ipywidget 交互的输入表单更大?例如,当我使用以下代码时,该字段对于标题来说太小了,看起来很乱。 # python code to run in jupyter notebook
我无法理解 IPython display 上 update 的功能。 看来要更新小部件需要在顶层实例化,并且不能从 ipywidget 的回调中实例化。 这是由 ipywidget Button 调
ipython 小部件和交互式对象都有 observe() 方法。 (请参阅打印语句的结果。)通过以下示例,我可以确认 observe() 方法在 slider 小部件上的操作,但不能在交互式(即)对
我创建了一个小示例,它显示了工作情况和非工作情况。工作示例, import ipywidgets as widgets selected = {} a = widgets.Dropdown(descr
让我们假设以下问题:我们有一个 Ipywidget 按钮和一个进度条。单击按钮时,将执行函数 work(),它只会填充进度条直到完成,然后反转过程并将其清空。就目前而言,这样的功能会持续运行。以下代码
我正在使用交互式 ipywidget 下拉菜单来过滤一定数量的数据并用 plotly 绘制图形。 我的问题是下拉小部件的更新:这里是一个简化的例子: import ipywidgets as
我正在尝试在到达所有边缘的按钮上放置一个“+”号。这是一个最小的示例,来自 Jupyter 笔记本,首先是样式: %%html .button_style{ font-size:155px;
我在 IPython 中使用小部件,它允许用户重复搜索短语并在另一个小部件(选择小部件)中查看结果(不同的标题),然后选择其中一个结果。 简而言之: search_text = widgets.Tex
我想创建一个复选框列表,以便用户可以从数据列表中进行选择。我已经为每条数据创建了复选框,现在我希望勾选这些复选框以将数据添加到列表中。 import ipywidgets as widgets dat
我有一个来自 glob.glob 的 csv 文件列表。每个 csv 用于生成一个图形。我想使用 ipywidget 下拉菜单,以便仅绘制所选的文件。 import glob import panda
我正在使用ipywidgets创建一个简短的表单,显示两个字段:图像的预期宽度和高度。 我想添加一个复选框,以便如果选中该框,则会从文件加载信息。 如果选中该框,则会出现一个文本区域(或文件选择器),
我正在尝试从在 Python 3.6 中运行 Jupyter Notebooks 的 Microsoft Azure Notebooks 中的 ipywidgets 小部件获取输出。但是,当我得到它们
我正在使用 ipywidgets.widgets.Checkbox。有没有办法处理复选框事件?请帮忙。我是初学者。 编辑:如何创建复选框列表? 最佳答案 没有任何直接事件,但您可以使用observe
我制作了一个图形,其中包含分别基于随机正态分布、 Gamma 分布、指数分布和均匀分布的直方图的四个子图。我使用 matplotlib 和 Jupyter Notebook 制作的。它是通过 ipyw
我想用 ipywidgets 制作一个交互式模块。到目前为止一切顺利,但我被卡住了。我想根据特定情况隐藏某个 ipywidget 对象的可见性,并且我希望我打印的文本显示在小部件上方并停留在那里。 d
我想更改 ipywidget ToggleButton 的按钮颜色。在文档中它被描述为: widgets.ToggleButtons( options=['Slow', 'Regular',
我有一个下拉菜单,其中显示了一些可能的“周期”。这些实际上是包含一些数据的 .csv 文件。然后我有另一个下拉列表应该显示这个 .csv 文件中的所有变量。因此,第二个下拉列表应根据第一个下拉列表中选
我一直在尝试在更改 ipywidget 后自动更新变量并运行代码片段。 到目前为止,我找到的唯一部分解决方案是按照 github ( here ) 上的示例声明一个全局变量类型: import ipy
有没有办法控制 ipywidgets 的放置和对齐(在 jupyter notebook 中)? from ipywidgets import widgets from IPython.display
我正在尝试使用 ipywidgets 按钮进行连续的按钮点击过程。 点击按钮 1 应该清除按钮 1 并显示按钮 2 等... 看起来wait变量的引入让我的purge函数无法访问,我不明白为什么。 f
我是一名优秀的程序员,十分优秀!