如何更改bokeh中现有图像的范围和位置?

亚历克斯·比约林(AlexBjörling)

我显示2D数据如在背景虚化服务器变化的形状的图像,并且因此需要动态更新不仅在图像的数据源,而且其dwdhx,和y特性。在下面的虚拟示例中,这些更改是在连接到Button小部件的回调函数中进行的

我发现需要访问glyph图像GlyphRenderer对象属性,并且可以通过其update()方法(请参见代码)进行访问。但是,直到我单击工具栏的“重置”按钮,更改才会生效。我注意到,更改在第二次激活该callback()功能时也会神秘地生效进行这些更改的正确方法是什么?

import bokeh.plotting
import bokeh.models
import bokeh.layouts
import numpy as np

# set up the interface
fig1 = bokeh.plotting.figure(x_range=(0, 10), y_range=(0, 10))
im1 = fig1.image([], dw=5, dh=5)
button = bokeh.models.Button(label='scramble')

# add everything to the document
bokeh.plotting.curdoc().add_root(bokeh.layouts.column(button, fig1))

# define a callback and connect it
def callback():
    # this always works:
    im1.data_source.data = {'image': [np.random.random((100,100))]}

    # these changes only take effect after pressing the "Reset" 
    # button, or after triggering this callback function twice:
    im1.glyph.update(x=1, y=1, dw=9, dh=9)
button.on_click(callback)
卢克·卡纳万(Luke Canavan)

我不会立即明白为什么您的代码无法正常工作。我可以建议显式地使用ColumnDataSource并将所有Image字形属性链接到该源中的列。然后,您应该能够在一行中更新source.data并应用所有更新。

以下是一些不完整的示例代码,以建议如何执行此操作:

from bokeh.models import Image, ColumnDataSource
from bokeh.plotting import figure

# the plotting code
plot = figure()
source = ColumnDataSource(data=dict(image=[], x=[], y=[], dw=[], dh=[]))
image = Image(data='image', x='x', y='y', dw='dw', dh=dh)
plot.add_glyph(source, glyph=image)

# the callback
def callback():
    source.data = {'image': [np.random.random((100,100))], 'x':[1], 'y':[1], 'dw':[9], 'dh':[9]}

button.on_click(callback)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Ninject中更改现有绑定的范围

来自分类Dev

如何更改现有表以在Oracle中创建范围分区

来自分类Dev

如何在Ninject中更改现有绑定的范围

来自分类Dev

更改现有窗口的大小和位置

来自分类Dev

更改 Rails 中现有列的位置

来自分类Dev

如何在单击 angularjs 中的现有图像时更改个人资料图像?

来自分类Dev

在JFrame中单击JButton时如何更改现有图像?(Java)

来自分类Dev

是否可以从现有的请求范围中激活会话范围和对话范围?

来自分类Dev

如何检查URL是否与Lift中的现有位置匹配?

来自分类Dev

Firebase 更改现有记录的位置/目录

来自分类Dev

如何根据ios中的方向更改图像位置?

来自分类Dev

如何在引导HTML中更改图像位置

来自分类Dev

如何在CSS的搜索框中更改图像的位置?

来自分类Dev

如何更改 <div> 标签中图像的相对位置

来自分类Dev

如何保存现有触发器中的更改?

来自分类Dev

如何在操作中更改现有的TextView样式

来自分类Dev

如何更改表中的现有主键?

来自分类Dev

如何动态更改R中现有功能的行

来自分类Dev

如何更改数组VBA中的现有数据

来自分类Dev

Graphql | Apollo客户| 如何更改现有订阅中的变量?

来自分类Dev

如何更改D3中的现有元素

来自分类Dev

如何通过 VBA 更改 PowerPoint 中现有的 Tabstop?

来自分类Dev

Drupal 7 - 现有元素的图像 alt 和标题文本批量更改

来自分类Dev

通过位置angularjs从现有图像获取图像大小

来自分类Dev

如何更改Claws Mail中现有文件夹和远期文件夹的排序顺序?

来自分类Dev

如何在Bokeh(Python)中处理图像

来自分类Dev

HTML / CSS图像翻转/动画,现有代码的特定情况,如何更改动画?

来自分类Dev

如何更新现有对象中的类类型和方法

来自分类Dev

如何在Python中打开和编辑现有文件?

Related 相关文章

  1. 1

    如何在Ninject中更改现有绑定的范围

  2. 2

    如何更改现有表以在Oracle中创建范围分区

  3. 3

    如何在Ninject中更改现有绑定的范围

  4. 4

    更改现有窗口的大小和位置

  5. 5

    更改 Rails 中现有列的位置

  6. 6

    如何在单击 angularjs 中的现有图像时更改个人资料图像?

  7. 7

    在JFrame中单击JButton时如何更改现有图像?(Java)

  8. 8

    是否可以从现有的请求范围中激活会话范围和对话范围?

  9. 9

    如何检查URL是否与Lift中的现有位置匹配?

  10. 10

    Firebase 更改现有记录的位置/目录

  11. 11

    如何根据ios中的方向更改图像位置?

  12. 12

    如何在引导HTML中更改图像位置

  13. 13

    如何在CSS的搜索框中更改图像的位置?

  14. 14

    如何更改 <div> 标签中图像的相对位置

  15. 15

    如何保存现有触发器中的更改?

  16. 16

    如何在操作中更改现有的TextView样式

  17. 17

    如何更改表中的现有主键?

  18. 18

    如何动态更改R中现有功能的行

  19. 19

    如何更改数组VBA中的现有数据

  20. 20

    Graphql | Apollo客户| 如何更改现有订阅中的变量?

  21. 21

    如何更改D3中的现有元素

  22. 22

    如何通过 VBA 更改 PowerPoint 中现有的 Tabstop?

  23. 23

    Drupal 7 - 现有元素的图像 alt 和标题文本批量更改

  24. 24

    通过位置angularjs从现有图像获取图像大小

  25. 25

    如何更改Claws Mail中现有文件夹和远期文件夹的排序顺序?

  26. 26

    如何在Bokeh(Python)中处理图像

  27. 27

    HTML / CSS图像翻转/动画,现有代码的特定情况,如何更改动画?

  28. 28

    如何更新现有对象中的类类型和方法

  29. 29

    如何在Python中打开和编辑现有文件?

热门标签

归档