说明
笔者使用的pyecharts版本是1.7.1,如果使用0.x版本不知道是否可行,因为两个版本代码差异较大。
问题描述:
在pyecharts基于Bmap百度地图绘制可视化地图数据时,根据地名和数据值,例如(北京,200),(天津,45)。在该位置显示散点,在散点上方显示该数据值。显示时发现,显示的数值不是给定的数据值,而是纬度值。如图:
可以看到上图,每个散点上对应的有值,但是这些值不是我给定的数据值,发现是这个点的纬度坐标。
问题解决:
通过查看官方文档发现,在LabelOpts标签配置项里有一个formatter参数,该参数支持字符串模板和回调函数两种形式,其中字符串模板显示有四个选项:{a}(系列名称),{b}(数据名称),{c}(数值数组), {d}(无)。如下图:
发现可以使用formatter=‘{c}’显示数值,将其写入LabelOpts里,.add()代码如下:
.add(
type_="effectScatter",
series_name="",
data_pair=data,
symbol_size=10,
effect_opts=opts.EffectOpts(),
label_opts=opts.LabelOpts(
position="top",
is_show=True, #is_show是否显示标签,点上面的内容
formatter='{c}',
),
itemstyle_opts=opts.ItemStyleOpts(),
is_selected=True, #选中图例