有没有办法以交互方式更改Bokeh中的图例标签文本?
我读过https://github.com/bokeh/bokeh/issues/2274和How to interactively display and hide lines in a Bokeh plot?但都不适用.
我不需要修改颜色或任何比更改标签文本更复杂的东西,但我找不到办法.
解决方法:
我希望这个答案可以帮助其他类似问题.
这个问题有一个解决方法:从版本0.12.3开始,您的图例可以通过用于生成给定元素的ColumnDataSource对象动态修改.例如:
source_points = ColumnDataSource(dict(
x=[1, 2, 3, 4, 5, 6],
y=[2, 1, 2, 1, 2, 1],
color=['blue','red','blue','red','blue','red'],
category=['hi', 'lo', 'hi', 'lo', 'hi', 'lo']
))
self._figure.circle('x',
'y',
color='color',
legend='category',
source=source_points)
然后,您应该可以通过再次设置类别值来更新图例,例如:
# must have the same length
source_points.data['category'] = ['stack', 'flow', 'stack', 'flow', 'stack', 'flow']
注意类别和颜色之间的关系.如果你有这样的事情:
source = ColumnDataSource(dict(
x=[1, 2, 3, 4, 5, 6],
y=[2, 1, 2, 1, 2, 1],
color=['blue','red','blue','red','blue','red'],
category=['hi', 'hi', 'hi', 'lo', 'hi', 'lo']
))
然后第二个喜欢也会显示蓝色.它只匹配第一次出现.
标签:python,bokeh 来源: https://codeday.me/bug/20190828/1756598.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。