前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python有趣|数据可视化那些事(二)

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

作者头像
罗罗攀
发布2019-04-01 15:03:39
7270
发布2019-04-01 15:03:39
举报
pyecharts可视化

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

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

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

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

基本图表使用

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

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

代码语言:javascript
复制
sex = data.groupby('Sex')['Sex'].count()

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

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

代码语言:javascript
复制
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库了。

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

代码语言:javascript
复制
str_data = ''
for i in range(new_data.shape[0]):
    str_data = str_data + new_data.iloc[i,4]

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

代码语言:javascript
复制
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))

最后进行绘制即可。

代码语言:javascript
复制
from pyecharts import WordCloud

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

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

代码语言:javascript
复制
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函数处理数据。

代码语言:javascript
复制
province = data.groupby('Province')['Province'].count()

最后,可视化地图即可。

代码语言:javascript
复制
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年一起搞事情。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.03.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • pyecharts可视化
  • 基本图表使用
  • 词云图
  • 地图绘制
  • 今日互动
相关产品与服务
腾讯云图数据可视化
腾讯云图数据可视化(Tencent Cloud Visualization) 是一站式数据可视化展示平台,旨在帮助用户快速通过可视化图表展示大量数据,低门槛快速打造出专业大屏数据展示。精心预设多种行业模板,极致展示数据魅力。采用拖拽式自由布局,全图形化编辑,快速可视化制作。腾讯云图数据可视化支持多种数据来源配置,支持数据实时同步更新,同时基于 Web 页面渲染,可灵活投屏多种屏幕终端。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档