python画热力图怎么改热力棒大小 python热力图制作_python制作热力图

(图为2011-2017年春晚互联网搜索动态热力图)

在研究涉及全国地区分布差异的数据问题时,我们经常需要借助通过在地图空间对于不同区域的数据渲染达到直观可视化得目的。

在本期文章中,我们将会以全国对于央视春晚的关注度为例,介绍如何利用python进行数据可视化处理。(本期推文中所使用的Python版本为2.7。)

第一步:数据准备

首先我们需要对全国春晚的互联网热度数据进行爬取。(数据爬取方法,我们会在以后的推文中陆续推送)

第二步:读入数据

在 Python 自带的科学计算库中,Pandas

模块是最适于数据科学相关操作的工具,本次数据处理中,我们使用pandas模块直接进行excel数据的读入和处理,pandas同时提供对于excel文件的直接读取函数,不过处理前需要对几个依赖的模块进行安装,包括pandas和xlrd,然后运行以下代码(运行环境为windows,文件中文编码为gbk)

python画热力图怎么改热力棒大小 python热力图制作_百度_02

运行成功,数据框df将读取到对应excel的数据,且格式一致

第三步,处理数据

数据读入后,我们还需要对数据进行进一步处理,我们以2017年的数据为例,首先,需要将df中2017年的数据单独提取出来,其次,将2017年数据中地区和互联网热度数据两个字段进行列表化处理,处理完毕得到的attr3和value3两个变量作为我们最终进行数据地图可视化的输入变量备用。具体过程见如下代码:

python画热力图怎么改热力棒大小 python热力图制作_数据_03

第四步,数据可视化

说到数据可视化,我们首先想到的是国内优秀的开源图表库Echarts,Echarts

是百度开源的一个数据可视化 JS

库,Echarts有着与众不同的特点和惊艳全场的视觉效果,展示效果详情参见Echarts官网的实例,众亲自行百度“Echarts”(百度Echarts的干货详解,我们也会在后期推送)即可。

pyecharts是一个用于生成 Echarts

图表的类库,可以说是python的echarts接口,本次操作中我们用pycharts进行数据图表的渲染和可视化,首先对pyecharts进行安装。

python画热力图怎么改热力棒大小 python热力图制作_python画热力图怎么改热力棒大小_04

本次操作我们主要用到的是pyecharts下面的geo模块,所以需要对该模块进行导入,

python画热力图怎么改热力棒大小 python热力图制作_python制作热力图_05

接下来我们需要创建一个地理坐标geo对象,并声明对象的主标题、副标题以及宽度、高度字体颜色等变量:

python画热力图怎么改热力棒大小 python热力图制作_python制作热力图_06

接下来,我们对该geo对象添加我们自己的数据:

python画热力图怎么改热力棒大小 python热力图制作_python制作热力图_07

这里我们用到了直接我们已经准备好的数据attr3和value3,其他参数说明如下:

“2017”:数据系列的名称

type="heatmap":声明生成地图类型为热力图

visual_range=[0,1000]:指定视觉组件的允许的最小值与最大值

visual_text_color="#fff":视觉组件字体颜色

symbol_size=9:标记图形大小

is_visualmap=True:是否视觉组件

is_legend_show=True:是否显示图例

geo_normal_color="#0E0300":地图区域底色

legend_text_color="#fff":图例文字颜色

最后,按照我们定义的geo对象进行数据生成:

python画热力图怎么改热力棒大小 python热力图制作_百度_08

第四步,图像文件的生成

运行完上面代码后,就会在和代码同目录下面生成一个map_city.html文件

python画热力图怎么改热力棒大小 python热力图制作_python制作热力图_09

双击该文件即可在浏览器中显示最终的数据可视化图表:

python画热力图怎么改热力棒大小 python热力图制作_百度_10

同样,我们可分别制作出,近几年分别每年的热力图,最后制作一个动态的GIF图就好啦。