python-3.x - 如何为 Bokeh 中的节点设置不同的图像?
问题描述
我了解如何使用以下代码更改节点的大小和颜色
graph = GraphRenderer()
# replace the node glyph with an ellipse
# set its height, width, and fill_color
graph.node_renderer.glyph = Ellipse(height=0.1, width=0.2,
fill_color="fill_color")
但是如何更改某些节点的字形甚至添加图像,例如:一个节点可能是用户,另一个可能是电子邮件 ID,另一个是移动设备,是否可以用不同的图像或字形表示所有节点?
解决方案
一种方法是使用散布标记,该标记具有marker
参数化标记类型的属性。ColumDataSource
可以有一列指定每个节点的标记类型,或者您将factor_mark
数据源中的某些分类值映射到标记类型。
请注意,您将仅限于标记类型,它们只能具有以屏幕(像素)为单位指定的大小。如果您需要像矩形和椭圆这样的带有数据空间单位的东西,那么 Bokeh 可能不是最适合这种用途的工具(除非您想手动绘制所有节点和边)。
或者,原则上您似乎也可以使用image_url
节点,以便每个节点由从指定 URL 加载的图像表示(每个节点可以获得不同的图像 URL)。
推荐阅读
- swift - 如何快速更改内容?
- momentjs - 将毫秒传递给 moment() 时如何获取实际的实时日期
- windows - 一个驱动程序可以包装另一个驱动程序以使用 WEBUSB
- android - 如何在android中创建s曲线布局
- java - 如何在 Java 中对用户定义的双向链表进行排序?
- c++ - 如何使用 SHA1 散列算法在 C++ 中散列系统时间?
- protractor - protractorBy 是做什么的?
- javascript - 有没有办法从 xml 文档中获取版本和编码?
- reactjs - 从一个函数中获取值并将其传递给另一个函数
- python - 如何迭代字典中的值?