场景需求,pyecharts绘制饼图时,由于计算百分比得到的是小数点,反映到图标上就是这样的:
解决办法也很简单,在pyecharts的代码中加入如下代码即可:
pie = (
Pie()
.add("", [(times[i], y_data[i] / sum(y_data)) for i in range(len(times))])
.set_colors(["#2b435f", "#056c84", "#1452ef"])
.set_global_opts(
title_opts=opts.TitleOpts(title="进球占比", title_textstyle_opts=opts.TextStyleOpts(color='black')),
legend_opts=opts.LegendOpts(is_show=False)
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"),
tooltip_opts=opts.TooltipOpts(
trigger="item", formatter="{a} <br/>{b}: ({d}%)"
), )
)
重点是 .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"),
tooltip_opts=opts.TooltipOpts(
trigger="item", formatter="{a} <br/>{b}: ({d}%)"
), )
)
这段代码,通过formatter中的{d}%来实现把小数点转化成百分比,效果如下: