pyecharts可以自动生成一些交互,比如这里用到的DataZoom,可以上用户缩放显示数据范围。
但pyecharts的默认颜色实在是太简陋了,且它没有提供自动生成颜色的调色版功能。
而seaborns的颜色就很美观。它的调色板功能也很强大!
于是想到用seaborns的调色版生成颜色,在pyecharts应用。
先用 sns.color_palette 生成颜色,这里我有14条柱体,生成了14个颜色。用的时候关键是掉一下list(col.as_hex())函数,生成颜色列表,然后就可以愉快地看到渐变色了.
col=sns.color_palette(palette='hls',n_colors=14,as_cmap=False)
data_pair = []
for k, v, c in zip(x_data, y_data_1, list(col.as_hex())):
data_pair.append(
opts.BarItem(
name=k,
value=v,
itemstyle_opts=opts.ItemStyleOpts(color=c)
))
bar = Bar(init_opts=opts.InitOpts(
theme=ThemeType.DARK, width='1000px', height='600px'))
bar.add_xaxis(zz["MON"].tolist())
bar.add_yaxis("活动", data_pair)
bar.set_global_opts(
title_opts=opts.TitleOpts(
title='统计',
# subtitle='副标题文本',
pos_left='0%',
pos_right='0%',
),
datazoom_opts=opts.DataZoomOpts(is_show=True, range_start=0, range_end=100),
)
bar.render_notebook()
两个参考文章:
【pyecharts | 颜色配置】关于pyecharts中自定义颜色问题详解_wx6130bf9574ca1的技术博客_51CTO博客