工作中遇到一个需求:如下图所示,我不想要让柱状图显示成数字,想要按照我自己想要的方式显示
真的废了很长时间才找到答案,喜欢的点个赞吧!
完整代码:
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType
from pyecharts import options as opts
list1 = [1000, 2000, 3000, 4000, 5000, 6000, 7222]
list3 = [
{"value": list1[0], "sj": 'aaaa'},
{"value": list1[1], "sj": 'bbb'},
{"value": list1[2], "sj":'ccc' },
{"value": list1[3], "sj": 'ddd'},
{"value": list1[4], "sj": 'eee'},
{"value": list1[5], "sj": 'fff'},
{"value": list1[6], "sj": 'ggg'},
]
res = Faker.values()
c = (
Bar({"theme": ThemeType.MACARONS})
.add_xaxis(Faker.choose())
.add_yaxis("商家A", list3)
.set_series_opts(label_opts=opts.LabelOpts(
formatter=JsCode(
"function(x){return x.data.sj;}"
),
)) # y轴的数字是否显示
.set_global_opts(
title_opts={"text": "Bar-通过 dict 进行配置"}
)
.render("bar_base_dict_config.html")
)
核心代码为: formatter=JsCode(
"function(x){return x.data.sj;}"
),