当前位置 > CPDA数据分析师 > “数”业专攻 > 广东省客户数量地图展示,如何通过python实现?

广东省客户数量地图展示,如何通过python实现?

来源:数据分析师 CPDA | 时间:2019-06-25 | 作者:admin

微信图片 20190625142714 - 广东省客户数量地图展示,如何通过python实现?

广州CPDA19期学员
史金乐

 

上周在给公司做数据时,在展示数据到了展示公司在广东省内客户数量时候,机械性的用了柱状图,回家路上想了一下,是否可以有别的、更好的展示方式呢?于是就想到了用地图展示,常用地图展示有以下几种方式:

 

1、Power BI里面自带的着色地图,因为无行政区域划分,不是我们想要的;

2、Power BI里面自带的形状地图,兼容性不好,放入地市信息无法正确显示(也有可能是我操作错误),所以也pass了;

3、Power BI里面自带的ArcGIS Maps,会显示错误,比如“茂名市”的数据显示在了日本,也没有行政区域的划分,所以也pass了;

4、Power BI市场里面的colorMap,可以正常显示,着色情况也可以调整,十分方便,但是地图背景有创作公司的水印,不适合汇报使用,所以只能当作备选方案;

5、地图无忧,这个是基于百度地图做的自定义地图,功能挺全面的,但是只能试用7天,之后就只能购买才可以使用,方向比较偏向地图使用功能,对于本次的任务不是适合;

6、echarts,这个就是今天的主角,这是百度公司开发的、专门用于数据可视化展示的,在官方案例中我们发现了类似的我们需求。一个香港人口密布分布图,链接是https://echarts.baidu.com/examples/editor.html?c=map-HK,具体展示效果如下:

 

广东省客户数量地图展示,如何通过python实现? - 广东省客户数量地图展示,如何通过python实现?

 

看到这个图感觉眼前豁然开朗,这就是我们今天要找的demo。

 

借鉴这个demo制作广东省客户数量分布图有好几种方法,今天我们介绍两种:

 

第一种是直接在官方案例里面修改参数,直接运行即可;

第二种是我们用python来实现,包括调整参数,后续我们只需准备好数据,加载不同的数据源就可以用于不同数据源的展示,属于一次投资终身受益,我喜欢~嘿嘿~

 

首先在GitHub上面找到echarts官方python代码包,地址是https://github.com/pyecharts/pyecharts,根据上面的介绍,我们找到官方文档,地址是https://pyecharts.org/#/zh-cn/intro,我们在官方文档里面的地理图表:map:地图里找到了相关的官方案例,代码如下,我们粘贴到pycharm中。

 

广东省客户数量地图展示,如何通过python实现?1 - 广东省客户数量地图展示,如何通过python实现?

 

pycharm中安装pyecharts包的过程不再阐述,我们这里直接从调整参数开始:

 

首先准备数据,整理成如下格式:

 

广东省客户数量地图展示,如何通过python实现?2 - 广东省客户数量地图展示,如何通过python实现?

 

然后使用pandas.read_excel来读取数据为dataframe。

在官方代码的基础上进行参数调整,首先将方法map_guangdong增加参数(city, values, height="900px", width="500px"),代表的意思是城市、值、展示的高度和宽度。同时调整:

 

广东省客户数量地图展示,如何通过python实现?3 - 广东省客户数量地图展示,如何通过python实现?

 

把原来案例引用的Faker的样例数据调整为我们的方法里面的参数,具体如下:

 

广东省客户数量地图展示,如何通过python实现?4 - 广东省客户数量地图展示,如何通过python实现?

 

然后我们调整图片的标题和左下角热力值的最大最小值,具体如下:

 

广东省客户数量地图展示,如何通过python实现?5 - 广东省客户数量地图展示,如何通过python实现?

 

我们发现案例里面的标签信息只显示了地市的名字,没有显示具体的数值,所以这里我们要增加显示数值的控制模块,代码如下:

 

广东省客户数量地图展示,如何通过python实现?6 - 广东省客户数量地图展示,如何通过python实现?

 

至此,基本的参数已经调整完毕,然后写一个main方法来进行调用,代码模块如下:

 

广东省客户数量地图展示,如何通过python实现?7 - 广东省客户数量地图展示,如何通过python实现?

 

然后执行完毕之后,得到的是一个名为render的html文件,我们用浏览器打开即可查看,效果如下:

 

广东省客户数量地图展示,如何通过python实现?8 - 广东省客户数量地图展示,如何通过python实现?

 

做到这里,效果已可以满足需求,其他细微的调整可以参照官方文档的参数进行调整。这里可以总结一下:使用pyecharts进行可视化展示,可以先从官方文档copy过来demo代码,这个是基础的,然后在基础代码上根据具体的需求调整参数,参数的调整官方文档给出了两个类型,一个是全局配置,一个是系列配置,可以根据需求所在具体配置进行查找,然后进行调整,这样即可满足任务的需求。

 

本文也是抛砖引玉,希望能给大家提供一个数据可视化的思路,一起享受数据分析的乐趣。