pyecharts设置桑基图节点颜色
时间: 2023-09-20 18:07:31 浏览: 153
【Python数据可视化源码实例Pyecharts库集合】桑基图.zip
在 Pyecharts 中设置桑基图节点(矩形)的颜色可以通过 `visualmap_opts` 参数中的 `color` 属性来实现。具体步骤如下:
1. 设置颜色映射,可以使用 `pyecharts.commons.utils.color.ColorMap()` 来生成一个颜色映射对象,例如:
```python
from pyecharts.commons.utils import color
nodes = ['A', 'B', 'C']
cmap = color.ColorMap(value_min=0, value_max=len(nodes)-1, color_list=['#00FFFF', '#FFA07A', '#FFD700'])
```
上述代码中,`color_list` 参数指定了三种颜色,`value_min` 和 `value_max` 参数指定了颜色映射的取值范围。
2. 在 `series` 中设置 `visualmap_opts` 参数,其中 `type` 属性设置为 `'color'`,`min` 和 `max` 属性设置为颜色映射的取值范围,`is_piecewise` 属性设置为 `True` 表示分段显示颜色。例如:
```python
from pyecharts import options as opts
from pyecharts.charts import Sankey
links = [('A', 'B', 10), ('B', 'C', 20)]
sankey = Sankey()
sankey.add('sankey', links, nodes,
linestyle_opt=opts.LineStyleOpts(opacity=0.2, curve=0.5, color='#000000'),
label_opts=opts.LabelOpts(position="right", font_size=14),
itemstyle_opts=opts.ItemStyleOpts(border_width=1, border_color='#aaaaaa', opacity=0.5),
node_gap=20,
layout_direction='LR',
visualmap_opts=opts.VisualMapOpts(type_='color', min_=0, max_=len(nodes)-1, is_piecewise=True, pos_right='10%', pos_top='center', dimension=0, range_color=cmap.get_colors()))
sankey.render('sankey.html')
```
上述代码中,`dimension` 属性设置为 `0` 表示节点的颜色映射使用第一列数据,即 `'A'`、`'B'`、`'C'`。`range_color` 属性使用颜色映射对象的 `get_colors()` 方法生成颜色列表。`pos_right` 和 `pos_top` 属性可以调整颜色条的位置。
阅读全文