十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近要绘制伦敦区地图,查阅了很多资料后最终选择使用bokeh包以及伦敦区的geojson数据绘制。
bokeh是基于python的绘图工具,可以绘制各种类型的图表,支持geojson数据的读取及绘制地图。
安装bokeh
$ pip install bokeh
软件版本
python-3.7.7bokeh-2.0.0
数据来源
伦敦地图数据来源于Highmaps地图数据集。下载的是英国的地图数据united-kindom.geo.json。需要对得到的数据进行预处理才能得到只含伦敦地区的数据。这需要对geojson数据的格式有一定的了解。在对数据进行处理之前,先看如何绘制英国地图。
绘制英国地图
from bokeh.plotting import curdoc, figure from bokeh.models import GeoJSONDataSource # 读入英国地图数据并传给GeoJSONDataSource with open("united-kindom.geo.json", encoding="utf8") as f: geo_source = GeoJSONDataSource(geojson=f.read()) # 设置一张画布 p = figure(width=500, height=500) # 使用patches函数以及geo_source绘制地图 p.patches(xs='xs', ys='ys', source=geo_source) curdoc().add_root(p)