东篱野鹤

导航

Python数据可视化-条形图渐变颜色

import pandas as pd
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode

data = pd.DataFrame({
        "区域": ["A区", "B区", "C区"],
        "总销量": [23, 32, 14],
        "上衣销量": [3, 5, 10],
        "裤子销量": [15, 5, 1],
        "鞋袜销量": [5, 22, 3]
    })
    color_js = """new echarts.graphic.LinearGradient(0, 0, 0, 1,
        [{offset: 1, color: '#9400D3'}, {offset: 0, color: '#B8860B'}], false)"""

    stack_bar = (
        Bar(init_opts=opts.InitOpts(width="900px", height="500px",theme=ThemeType.INFOGRAPHIC))
            .add_xaxis(data["区域"].tolist())
            .add_yaxis("上衣销量", data["上衣销量"].tolist(), stack="stack1", color="Turquoise")
            .add_yaxis("裤子销量", data["裤子销量"].tolist(), stack="stack2", color="LightSeaGreen")
            .add_yaxis("鞋袜销量", data["鞋袜销量"].tolist(), stack="stack3", color="DarkCyan")
            .set_series_opts(
                label_opts=opts.LabelOpts(position="inside", color="white", font_size=15),
                itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_js)),
                # markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="min",name="最小值"),
                #                                       opts.MarkLineItem(type_="max",name="最大值"),
                #                                       opts.MarkLineItem(type_="average", name="平均值")]),
                # markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="min",name="最小值"),
                #                                         opts.MarkPointItem(type_="max", name="最da值")])
        )
    )
    stack_bar.render("render_notebook.html")

 

posted on 2022-01-18 10:02  东篱野鹤  阅读(866)  评论(0编辑  收藏  举报