数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关,而数据挖掘指的是通过代码来探索数据集的规律及关联。漂亮地展示数据关乎的不仅仅是漂亮的图片。以引人入胜的简洁方式呈现数据,让观者明白其含义,发现数据中原本未意识到的规律与意义。
在这一领域,有更多人抛弃excel,matlab甚至是R语言选择用python来进行这些工作,究其原因,像我这种初学者看重其简洁,资源丰富的包,数据科学家们应该看重其开源的特性,可以更加自主的编写功能。
pygal包是专注于生成适合在数字设备上显示的图表,下面来使用它对2010年的世界人口进行可视化。
1.数据来源:
所需的数据可以在http://data.okfn.org/网站中下载,它里面有大量可供免费下载使用的数据,本项目所使用的数据下载地址为https://files.cnblogs.com/files/dbtd/population_data.rar ,解压后得到population_data.json文件,我们用记事本打开后发现它是python字典的表现形式,其中的键包括:Country Name,Country Code,Year,Value,其中Country Code对应国家的国别码,但json文件中使用的是3位国别码,但pygal使用的位2位国别码,所以需要使用一个自定义方法来进行转换,代码如下:
# -*- coding: utf-8 -*-
from pygal.maps.world import COUNTRIES
def get_country_code(country_name):
for code,name in COUNTRIES.items():
if name==country_name:
return code
return None
方法通过遍历COUNTRIES字典,以对应2位国别码和国家名。
2.下面是具体的世界地图的绘制,我们使用pip安装pygal_maps_world模块来进行地图绘制,下面是一个简单的示例:
import pygal.maps.world
worldmap_chart = pygal.maps.world.World()
worldmap_chart.title = 'Some countries'
worldmap_chart.add('F count