问题标签 [bqplot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
509 浏览

python-3.x - jupyter lab 中的 Bqplot 返回字符串而不是(交互式)图像

今天我一直在尝试安装模块 bqplot 并第一次使用 jupyter lab。

但是,当使用他们网站上显示的基本示例时,我无法获得所需的输出。

我试图执行的代码如下:

在 jupyter(实验室)单元中运行此代码后,给定的输出为:

而在普通的 jupyter notebook 中,输出显示的是示例图像。

到目前为止,我不知道出了什么问题,希望能提供任何帮助!

谢谢。

0 投票
1 回答
534 浏览

python - bqplot - 在绘图之外放置刻度

我正在尝试将 x 轴刻度线放置在绘图的外侧,而不是从 x 轴开始,如下所示。您对如何实现这一目标有任何提示吗?

我的绘图位代码:

结果是: 在此处输入图像描述

0 投票
1 回答
942 浏览

python - 具有多个 iPyWidgets 下拉菜单的交互式 Covid 绘图

我正在尝试组合一个 Jupyter Notebook,它允许用户在下拉列表中输入一个州,这会将第二个下拉列表中的结果更改为仅显示该州的城市。选择城市后,可以按下按钮刷新图表(我意识到您可以使用手动进行交互,但无法使其正常运行)并显示结果数据(随着时间的推移covid 案例)。我在制作小部件方面取得了一些成功,但我无法正确绘制数据。

这是我第一次在 Jupyter 中使用小部件,我对交互、交互性、显示和观察(更不用说已弃用的 on_trait_change)有点迷失了。这是我到目前为止所拥有的...

0 投票
2 回答
910 浏览

python - 如何使用 bqplot 在散点图中插入工具提示

我有一个带有 4 列的 pandas 数据框(df),分别命名为“name”、“nb”、“a”和“b”,用他的名字、他的身份证号(“nb”)和一些值( 'a' 和 'b') 关联到它。

我想创建一个带有“a”和“b”值的散点图,其中名称和 id 将出现在工具提示中。我想我可以用 bqplot 库做到这一点。

我写了以下代码:

但是工具提示是空的,尽管标签出现了。我想我在 def_tt 行中遗漏了一些东西,字段参数可能不正确。

0 投票
1 回答
449 浏览

python-3.x - 更新 bqplot 图像小部件

我正在开发一个使用 ipywidgets 和 bqplot 来显示图像并与之交互的项目。使用 ipywidgets 并打开 cv 我可以修改图像,保存它并更新小部件的值。但我还需要 bqplot 的 on_click_element 方面,所以我使用最后一个中的小部件。我仍然无法弄清楚如何使用 bqplot 中的小部件做同样的事情。

我想避免重绘洞的东西,但如果需要,它必须关闭并只重绘小部件图像,因为这是一组更大的小部件的一部分。例如,我想使用任意阈值对图像进行二值化。

从这里我得到了有关如何使用 bqplot 图像小部件的信息:https ://github.com/bqplot/bqplot/blob/master/examples/Marks/Object%20Model/Image.ipynb

我使用与此非常相似的东西来创建我显示的小部件。

在此之后,我无法在不重新绘制孔的情况下更新图形。有任何想法吗?

jupyter 5.7.8,ipython 7.5.0,ipywidgets 7.5.1,bqplot 0.12.10

0 投票
1 回答
205 浏览

python - 在 bqplt/jupyter 中使用多个滑块创建动态图表

我正在尝试绘制随着投资组合权重变化而变化的动态投资组合表现

假设一个投资组合有 2 个成分,每个成分的权重为 50%。我想显示一个带有代表组件权重的滑块的投资组合图表。然后,我希望能够滑动权重值并动态更新投资组合图表。

我已经为一个包含一个权重但不知道如何修改超过 1 个权重的投资组合做到了这一点——也许我需要一种不同的方法。

下面的示例将随机 df 替换为 1 列代替我的投资组合 df - 过程应该相同。

就这个例子而言,如果 df 有 2 列 - 我怎样才能让它与控制每个重量的 2 个滑块一起工作?


从 bqplot 导入 DateScale、LinearScale、Axis、Figure、Lines

从 ipywidgets 导入 FloatSlider,VBox

将熊猫导入为 pd

将 numpy 导入为 np

滑块 = FloatSlider(值 = 1,最小值 = 0,最大值 = 1,步长 = .01,描述 = '重量 A')

df = pd.DataFrame(np.random.randint(0,100,size=(100, 1)), columns=list('A'))

x_sc = 线性缩放()

y_sc = 线性缩放()

ax_x = Axis(label='Date', scale=x_sc, grid_lines='solid')

ax_y = Axis(label='Price', scale=y_sc,orientation='vertical', grid_lines='solid')

line = Lines(y=df['A'],x=df.index , scales={'x': x_sc, 'y': y_sc}, colors = ['#FF0000'])

line2 = Lines(y=df['A'],x=df.index , scales={'x': x_sc, 'y': y_sc})

fig = Figure(axes=[ax_x, ax_y], 标记=[line, line2], title='价格图表')

def new_chart(值):

slider.observe(new_chart,'value')

VBox([图,滑块])

0 投票
0 回答
109 浏览

python - 部署交互式 ipywidget jupyter notebook

我已经使用 Jupyter Lab 在 jupyter notebook 中创建了一个带有一些滑块(ipywidgets)的图(带有 bqplot),现在我想将此笔记本发送给任何人并让小部件工作,也就是说,当我运行代码时,一切正常,但是一旦我关闭内核并再次加载笔记本,我必须再次运行所有代码才能让小部件再次工作。我怎样才能做到这一点?

0 投票
0 回答
101 浏览

python - 如何设置/替换 bqplot 标签中的文本?

原始问题:

如何使用滑块在 bqplot 标签中设置文本?

我已经解决了这个问题并在下面显示我的答案。

新问题:

为什么会出现这种行为?bqplot 将文本公开为列表然后不允许项目分配似乎不是很疯狂吗?

我想用新的东西替换标签文本。特别是,我希望标签反映不断变化的滑块值。

在迷茫了一段时间后,我发现了这个:

  • 要创建标签,必须将文本(以及 x 和 y 位置)作为列表给出: label(text=['my label'])。你不能只传递字符串: label(text='my label')

  • 要更新此文本,您必须替换整个列表: my_label.text = ['new label']。您不能只分配元素: my_label.text[0] = 'new label'

这是演示该行为的代码。

0 投票
1 回答
181 浏览

python - bqplot 填充线条块工具提示

我正在尝试绘制一个时间序列预测,周围是阴影的不确定间隔时间序列,并且工具提示适用于不确定性的线和周长。

但是填充会阻塞填充区域内的主要时间序列的工具提示。有什么简单的方法可以解决这个问题吗?如果我删除填充,它会按需要工作。但我想要填充。我尝试在没有工具提示交互的情况下制作另一个 Lines 对象并将其作为填充对象,但这也不起作用。谢谢!

0 投票
1 回答
326 浏览

recursion - 如何防止在 bqplot 中使用交互式绘图进行递归?

我创建了一个交互式散点图,使用bqplot您可以拖动点的位置(使用enable_move=True)。

我不希望用户将点拖到 y=x 线上方。如果他们这样做了,我希望该点恢复到最近的位置。

问题是我不确定如何在这里避免无限递归。

散点图需要知道它的点何时移动,以便检查移动并可能回弹。然而,当它开始回弹时,这种(点位置的)变化似乎触发了同样的回调。

谁能告诉我处理这个基本问题的“正确”方法?