在 Pyecharts 中,如果想要对图表进行自定义颜色,我们可以使用 set_colors() 这个方法来实现。
语法:
obj.set_colors(colors)
说明:
参数 colors 是一个列表,列表的每一个元素是一个颜色值。其中,颜色值可以是英文关键字(具体参考 “HTML 颜色名”),也可以是十六进制 RGB 值。
示例:Pyecharts 改变图表颜色
import pandas as pd
from pyecharts.charts import Bar
# 数据
data = [
['1月', 450, 110],
['2月', 420, 220],
['3月', 560, 150],
['4月', 480, 310],
['5月', 530, 250],
['6月', 620, 160]
]
df = pd.DataFrame(data, columns=['月份', '上衣', '裤子'])
# 绘图
bar = Bar()
bar.add_xaxis(xaxis_data=list(df['月份']))
# 第1种柱条
bar.add_yaxis(series_name='上衣', y_axis=list(df['上衣']))
# 第2种柱条
bar.add_yaxis(series_name='裤子', y_axis=list(df['裤子']))
# 定义颜色
bar.set_colors(['#FF6666', '#339999'])
# 渲染
bar.render()
运行生成的 render.html,浏览器效果如下图所示。

分析:
由于这里有 2 种柱条,所以我们需要使用 2 种颜色才行。对于这个例子来说,下面 2 种方式是等价的。
# 方式1
bar.add_yaxis(series_name='上衣', y_axis=list(df['上衣']))
bar.add_yaxis(series_name='裤子', y_axis=list(df['裤子']))
bar.set_colors(['#FF6666', '#339999'])
# 方式2
bar.add_yaxis(series_name='上衣', y_axis=list(df['上衣']), color='#FF6666')
bar.add_yaxis(series_name='裤子', y_axis=list(df['裤子']), color='#339999')
set_colors() 方法可以为所有图表进行自定义颜色,但是 color 参数只能为部分图表自定义颜色,这一点小伙伴们要清楚。
