Pyecharts绘图的确很棒,尤其是地图,那么将你的数据指标,展示在百度地图中,又是怎么样的一种感觉?
其实Pyecharts绘制 "地图" ,并展示在百度地图中的原理很简单,就是使用BMap()类,调用百度地图的数据。而调用百度地图的数据,首先需要获取一个叫做ak的东西。
详解如何获取百度地图ak
其实百度地图开放平台有很多好用的功能,供我们去调用,但是都需要获取一个叫做ak的东西。那么,你知道如何获取它吗?下面来看一个详细的步骤吧!① 先注册一个百度地图开放平台的账号,如果你是第一次使用;
看这里:https://lbsyun.baidu.com/② 通过
下方这个地址创建一个应用;
看这里:https://lbsyun.baidu.com/apiconsole/key打开上述网址后,大致界面是这样的:
点击上方的
创建应用,注意下方有几点信息需要填写:应用名称,应用类型,Referer名单。如果你不知道什么意思,照着填写就行啦!
最后点击文末的
提交按钮即可,最终界面如下:
看到图中的
ak了吗?这就是我们一直想要获取的东西。
将 "地图" 展示在百度地图中
有了上述的ak,剩下的就是写代码,很简单。
from pyecharts import options as opts from pyecharts.charts import BMap provinces = ["广东","北京","上海","新疆","湖北","浙江","西藏"] map_values = [11,21,31,41,39,29,20] ak = "你的ak" bmap = BMap() bmap.add_schema(ak,center=[115.97, 29.71]) bmap.add("bmap",[list(z) for z in zip(provinces,map_values)],label_opts = opts.LabelOpts(formatter="b")) bmap.set_global_opts(title_opts=opts.TitleOpts(title="Pyecharts+百度地图")) bmap.render_notebook()
最终效果如下:
上述代码中,有一个重要的函数:
add_schema()函数,里面一共有5个参数。第一个就是你获取的ak,还有一个center参数,表示当前视角的中心点,用经纬度表示。
def add_schema( # 百度地图开发应用 appkey,请使用到百度地图的开发者自行到百度地图开发者中心 # 注册百度 ak。 baidu_ak: str, # 当前视角的中心点,用经纬度表示 center: Optional[Sequence] = None, # 当前视角的缩放比例。 zoom: Optional[Numeric] = None, # 是否开启鼠标缩放和平移漫游。 is_roam: bool = True, # 地图样式配置项 map_style: Optional[dict] = None, )
本文就大致讲述到这里,如果你想知道
BMap()类的更多细节,可以参考下方网站。
https://pyecharts.org/#/zh-cn/geography_charts?id=bmap%ef%bc%9a%e7%99%be%e5%ba%a6%e5%9c%b0%e5%9b%be
浙公网安备 33010602011771号