【bokeh】(2)bokeh server 实现动态切换图片

实验环境: win7 python3.5 bokeh 0.13 

效果:

 

原理: btn绑定一个函数callback ,在这个callback函数里更换图片对象的data_source

 

代码:

from bokeh.models import ColumnDataSource,Button
from bokeh.layouts import row

from bokeh.plotting import figure, show,curdoc


def callback():
  global im
  urls=["""https://b-ssl.duitang.com/uploads/item/201604/15/20160415073709_d2XYs.jpeg""",
  """https://b-ssl.duitang.com/uploads/item/201601/19/20160119143747_i84Nx.png""",
  """https://b-ssl.duitang.com/uploads/item/201408/12/20140812131500_GTvHZ.jpeg"""
  ]
  u=urls.index(im.data_source.data['url'][0])
  im.data_source.data['url']=[urls[(u+1)%len(urls)],url3]

 


#url="""C:\\Users\\Administrator\\Pictures\\cat1.jpg"""
url1="""https://b-ssl.duitang.com/uploads/item/201604/15/20160415073709_d2XYs.jpeg"""
url2="""https://b-ssl.duitang.com/uploads/item/201601/19/20160119143747_i84Nx.png"""
url3="""https://b-ssl.duitang.com/uploads/item/201408/12/20140812131500_GTvHZ.jpeg"""


data=ColumnDataSource({"url":[url1,url2],'x':[0,50],'y':[100,50]})
p=figure(x_range=(0,100),y_range=(0,100),plot_width=800,plot_height=800)
im=p.image_url(url=[url1,url2],x=[0,50],y=[100,50],w=50,h=50)

btn=Button(label="swich image")

btn.on_click(callback)

p.xaxis.visible=None
p.yaxis.visible=None
p.toolbar.logo=None
p.toolbar_location=None
r=row(btn,p)

#show(r)

curdoc().add_root(r)

 

 

 

 

转载于:https://www.cnblogs.com/mathf/p/9430455.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值