Python有趣|数据可视化那些事(二)

pyecharts可视化

上文我们使用了Excel可视化,绘制了一个伪《经济学人》图表,这种方法在一定程度上解决了pandas的缺陷:不美观,功能不强大。但其操作起来复杂,手残党表示最不喜欢这种操作了。

所以本节将讲解一个Python第三方库(pyecharts),可以完美解决这些问题。现在公众号很多数据分析文章的图片,都是用其绘制的,最主要的原因就是:

  • 操作简单
  • 图表美观
  • 图表类型多样

这个是pyecharts的中文文档(http://pyecharts.org/#/zh-cn/),本节将大概讲解pyecharts的使用,详情可参考官方文档(记得安装这个库)。依旧先上大纲:

基本图表使用

我们以微信好友信息为例(文末提供数据下载)。

我们通过groupby函数,查看性别分布。

sex = data.groupby('Sex')['Sex'].count()

我们这里使用饼图,我们打开中文文档,找到饼图,这里有详细的参数设置和案例,我们只需要跟着案例,改成自己的数据即可。

可以看到,其实我们只需要修改attr和v1就可以了,这里的attr改为list(sex.index)(数据是列表结构),v1改为list(sex),但是这里的sex.index是0,1,2。所以我们手动定义attr即可完成。

from pyecharts import Pie

pie = Pie("男女分布", title_pos='center')
pie.add(
    "",
    ['外星人','男性','女性'],
    list(sex),
    radius=[40, 75],
    label_text_color=None,
    is_label_show=True,
    legend_orient="vertical",
    legend_pos="left",
)
pie
词云图

词云图,绘制也是很简单的,但是我们需要对文本进行分词统计,这里就要使用jieba库了。

首先,我们将个性签名那列的文本拼接起来。

str_data = ''
for i in range(new_data.shape[0]):
    str_data = str_data + new_data.iloc[i,4]

然后用jieba(也是需要安装的)分词统计,得到数据。

import jieba.analyse
tags = jieba.analyse.extract_tags(str_data, topK=50, withWeight=True)

label = []
attr = []
for item in tags:
    print(item[0]+'\t'+str(int(item[1]*1000)))
    label.append(item[0])
    attr.append(int(item[1]*1000))

最后进行绘制即可。

from pyecharts import WordCloud

wordcloud = WordCloud(width=800, height=620)
wordcloud.add("", label[4:], attr[4:], word_size_range=[20, 100])
wordcloud
地图绘制

地图绘制也是很简单的,就是pyecharts不提供地图的文件包,我们必须先通过下面代码先安装,这样才可以显示地图。

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg

我们依旧使用groupby函数处理数据。

province = data.groupby('Province')['Province'].count()

最后,可视化地图即可。

from pyecharts import Map

value = list(province)
attr = list(province.index)
map = Map("好友地区分布", width=1200, height=600)
map.add(
    "",
    attr,
    value,
    maptype="china",
    is_visualmap=True,
    visual_text_color="#000",
)
map
今日互动

代码下载:https://github.com/panluoluo/crawler-analysis,下载完整数据和代码。

留言打卡:pyecharts可视化的第一印象。公众号后台回复【打卡】,加入打卡学习群,2019年一起搞事情。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券