pyechart柱状图颜色配置

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")
)

通过语句print(chart.options['color'])打印出来。
print(bar.options['color'])

"""打印结果:
['#c23531', '#2f4554', '#61a0a8', '#d48265', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3', '#f05b72', '#ef5b9c', '#f47920', '#905a3d', '#fab27b', '#2a5caa', '#444693', '#726930', '#b2d235', '#6d8346', '#ac6767', '#1d953f', '#6950a1', '#918597']
"""

这种方法对于直角坐标系同样适用,可以针对单一数据项进行风格配置,不仅仅只是颜色。
data_pair = []
for k, v, c in zip(x_data, y_data_1, ['red', 'blue', 'black', 'green', 'orange', 'yellow']):
    data_pair.append(
        opts.BarItem(
            name=k,
            value=v,
            itemstyle_opts=opts.ItemStyleOpts(color=c)
        ))

bar = Bar()
bar.add_xaxis(
    x_data
)
bar.add_yaxis(
    '系列1',
    data_pair,
    itemstyle_opts=opts.ItemStyleOpts(color='red')
)

bar.render_notebook()

默认是渐变配色
bar = Bar()
bar.add_xaxis(
    x_data
)
bar.add_yaxis(
    '',
    y_data_1,
)
bar.add_yaxis(
    '',
    y_data_2,
)

bar.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(
        is_show=True,
        min_=50,
        max_=200,
        range_color=['green', 'yellow', 'red'])  
        )

bar.render_notebook()


颜色分段,譬如我们可以设置当值大于等于100时显示红色,小于100时显示橙色;
bar = Bar()
bar.add_xaxis(
    x_data
)
bar.add_yaxis(
    '',
    y_data_1,
)
bar.add_yaxis(
    '',
    y_data_2,
)

bar.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(
        is_show=True,
        is_piecewise=True,   # 颜色分段
        pieces=[
            {"min": 100, "color": 'red'},
            {"max":100, "color": 'orange'}
        ]
        ) 
    )

bar.render_notebook()
 

https://www.cnblogs.com/cenjw/p/15943460.html

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值