前言
有时,我们绘制图表需要特定指定柱子的颜色,以显示出它的重要性,本文使用Pyecharts提供的js代码的接口完成。
绘制效果
未指定颜色情况:
指定柱子颜色:
完整代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
__author__ = "cenjanway"
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode
X = ["商品A", "商品B", "商品C"]
values = [50,70,90]
# 指定柱子颜色的js代码
color_function = """
function (params) {
if (params.value < 60)
return 'red';
else if (params.value > 50 && params.value < 90)
return 'blue';
else return 'orange';
}
"""
c = (
Bar()
.add_xaxis(X)
.add_yaxis(""
, values
, category_gap="60%"
, itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function))
)
.set_series_opts(
label_opts=opts.LabelOpts(
position="right",
formatter=JsCode("function (params) {return params.value + '%'}")
)
)
.set_global_opts(title_opts=opts.TitleOpts(title="各个商品销量比较"))
.render("test.html")
)