manjaro文件不是一个有效的图表主题_【CP文】两只小白的一个月数据可视化技能学习日记...

62cfda7628ad28d1d25e7cc17fe515e7.png

e0440082d88d9b93aa453cf4f787d67b.gif

小可爱们好鸭~这里是你们的lala~

今天给大家分享一篇超级棒的数据可视化技能文!

所谓的cp技能文,

是lala单身社群举办的学习组队活动。

lala牵线一个帅气的男孩子和一个可爱的女孩子,

让他们一起通过学习某个特定的技能,

来加深彼此的革命友谊!

学新技能的同时,还能认识优秀的小伙伴

这就是我们一起打怪兽的日记本鸭!

嘉宾简介

张乐彦

学历背景:苏州大学

相关经历:供应链转市场的小白一枚,目前在魔都某互联网MKT岗实习。喜欢旅行、逛展、美食探店、剧本杀、追星~

5b80aabdf06d3395035bf84107787f8e.png

叶裕洋

学历背景:中央财经大学(本科在读)

相关经历:敲代码还没头秃的金融科技小白,喜欢相声、音乐剧、摄影、美食。欢迎批评指正!

a5a2515c4f0464616e09b869448c9fc1.png

Part  1

前言

在这个信息大爆炸的时代,数据是一笔巨大的财富,但是一般的数据都是以数字或者文字的形式记录在文件中,不方便使用者进行信息的抽取.“数据可视化”也就应运而生

它可以将成千上万条眼花缭乱的数据以形式多样、主题鲜明的图表方式显现,在帮助我们快速get数据特点的同时,有助于对数据进行进一步的思考研究

目前市面上有很多数据可视化软件,比如Tableau、Powerbi等,也有像Python、R这样能实现可视化的高级编程语言

Tableau非常智能化,容易入门,适合编程基础比较薄弱的小伙伴。Python属于进阶版,对使用者编程能力要求很高

二者各有侧重,但是它们都能非常出色地完成可视化目标。大家可以对应自己的能力和兴趣选择喜欢的方向开始学习

7944ff8eef2bc839da75476b0d4e5b01.png

在勇敢接下任务后,两个小白便开始了为期一个月的数据可视化技能探索之旅。这篇推文与其说“经验分享”,不如说是“菜鸡学习记录”(羞愧www)

虽然只是学了些基础的操作,但还是感受到了数据可视化的巨大魅力。数据对与我们来说,不再是让密恐犯难的满屏的数字,因为图像赋予了它们新的生命和意义

在这篇推文中,我们针对相似的问题,选择了五种经典图例,给出Tableau和Python的不同解法与画法

612c7aa33673325127237002b5871758.png

感兴趣的小伙伴也可以在评论区多多分享学习经验和建议~鞠躬!

Part  2

软件简介

01

01

01

Tableau

 主页面

7c287f2d409ff8eb579753f134876acf.png

打开软件后映入眼帘的就是主页面

左边“连接”一栏主要就是用于连接文件、导入数据。Tableau可以支持导入本地文件和服务器文件,新手小白可以先了解导入本地文件,这样更有针对性

Microsoft Excel导入的是Excel文件,文本文件导入的是CVS文件

 工作表

将文件导入后,便会跳转到工作表界面。我将界面主要分为三大类,红框是元素区,黄框是功能区,蓝框是成图区

a76e39e8b6b9ead9c83847d16b3e3219.png

元素区主要有“数据”和“分析”两大核心部分,而“数据”又可以分成维度和度量两个类别

维度一般存放以字符串形式表达的信息,例如日期、类别等,而度量则存放数值信息,例如利润、记录数等

有了数据源之后,我们需要结合相关功能才能画出心仪图像

右上角黄框中的“智能显示”,是Tableau中最简单直接的出图工具了。智能显示库会根据数据的性质,自动匹配合适的图例,比如热图、饼图、标靶图、地图等

左边黄框内的功能可以对图象做进一步的修改,比如修改图形、颜色、大小、增添标签等

edcb55242541d69f275059d9d1f984d4.png

02

01

01

pyecharts

 简介

看 Pycharts 名字就猜得到:

PyEcharts = Python + Echarts

Echarts 是一个由百度开源的数据可视化工具,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可,而 Python 就不用多说了。当 Python 遇到了 Echarts,就变成了 PyEcharts

官方文档:http://pyecharts.org/

 特性

  • 简洁的 API 设计,使用如丝滑般流畅,支持链式调用

  • 囊括了 30+ 种常见图表,应有尽有

  • 支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab

  • 可轻松集成至 Flask,Django 等主流 Web 框架

  • 高度灵活的配置项,可轻松搭配出精美的图表

  • 详细的文档和示例,帮助开发者更快的上手项目

  • 多达 400+ 地图文件以及原生的百度地图,为地理数据可视化提供强有力的支持

 安装

安装非常的简单,在已经安装好Python3的计算机上使用pip命令就可以成功安装

使用win + r 快捷键,输入cmd进入控制台

输入命令 pip install pyecharts 即可成功安装

 使用

所有类型的图标,基本的流程都是:

chart_name = 图表类型() # 初始化具体类型图表

chart_name.add_xaxis() # 添加横坐标名称

chart_name.add_yaxis() # 添加纵坐标数据

chart_name.set_global_opts # 设置全局变量

chart_name.render() # 生成.html文件

Part  3

具体案例

小王是一家奶茶店的老板,现在他手里有近一个月的店面流水数据,他希望能从这些数据中获得一些有用的信息来改善他的经营。让我们来看看Tableau和python如何帮助小王完成他的分析~

01

dc50693f9478b5a722730b4e6e362976.gif

奶茶销量不同月份对比图

1.Tableau——Bar-in-bar

看到销量对比图,我第一时间想到的就是用Tableau中的bar-in-bar实现

传统柱状图的缺陷是:某些口味的销量在6、7月份差别不大,导致柱体的高度近乎相同。最后还是要依靠数字比较,失去了图像的意义。如下图所示:

d526ab8fd99cb762be5cfb564aaa4605.png

Bar-in-bar实现了不同月份的销售额嵌套在一起,大小比较一目了然、清晰直观。即使没有具体的数字,小王也能快速从图像中得到有效信息,制作步骤也十分简单

 第一步

将固定不变的参数“口味”移动到行,将比较对象“销量”分别移动到列

28d8ae5e4421791e09d4464040b44ea1.png

 第二步

将鼠标移至销量上,点击向下小箭头,选择双轴

44e0dd2b7fd65509edab208915bafba0.png

 第三步

在左边的工具栏中选择“全部”,将图形形状改为柱状图

f68a1796243f3936a0cfd4fb2ff53be1.png

 第四步

调整大小,使之满足嵌套即可

8e87fe928973cf1c528a46d842cb6cf2.png 6d58be3bed28867b34328c2b855e652f.png

简单四步就能画出优雅简洁的bar-in-bar~

6月和7月不同口味的奶茶销量对比也非常清晰,不用数字就能比较大小

 2.Pyecharts——象形柱状图

 第一步:引入数据

所有分析的开始,都是获取要分析的数据。因为主要是介绍数据可视化,在这里我们使用的数据都是仿真的而非真实的数据。不同口味奶茶销量数据如下:

f65fac35c6fb04fbdfcbedd3a6ec6d8d.png 055e26240cea9bc76ef2d838bfb1a8e1.png

 第二步:创建象形柱状图实例

这里可以通过设置init_opts属性里面的theme属性来更改图表主题(如果不设置,主题默认为white),也可以通过width和height属性自定义画布大小

fc852f29617fe6ceb07a33e03721c407.png

 第三步:添加x轴数据

添加x的值,一般就是坐标轴刻度值

5c755a2ba20930b4b8aa9d98e403fd05.png

 第四步:添加y轴数据

注意:此处的数据必须是python的list列表类型,如果是numpy的数组类型需要使用 tolist() 方法转换成list。可以直接传 [1460, 1170, 430, 1404, 950] 的列表,此处只是为了设定自定义的图标

30e7dec860526a05ac472e15ef806426.png

第五步:设置全局变量

关于图表标题、x轴、y轴、标题、图例等等都可以在这里设置,详情见:http://pyecharts.org/#/zh-cn/global_options

e026d1a47d41098bff09463f42cc98bb.png

第六步:保存图表为html文件

d58b6a1dbbc53355f6178dc4a4e43fe2.png

到现在为止,已经得到了不同口味奶茶销量的象形柱状图,是不是直观了很多呢 ~

d300c7940f81c2f1b51dbfe6cc80c909.png

小王看过这个图表后,6月份、7月份相比,芝士、桃子和加芋泥口味的奶茶销售额增长,于是他决定下个月增加这些口味奶茶的供货量

02

dc50693f9478b5a722730b4e6e362976.gif

店面人员安排图

但是接下来的一个问题,却让他无从下手。每一天中,店面当中都要有人看守,那么在不同的时间如何安排店面人手呢?

我们可以使用热力图画出一天中每个小时成交的订单数量,以此来决定留在店面的人员数

1.Tableau——热图

如何在众多数据中快速锁定关键数据?Tableau智能图表中的热图就可以搞定

 第一步:将时刻和天数分别移进列与行中

7a63c0da6b79657c4e4524bb980ef573.png

 第二步:

将“订单数”直接拖进黑色大框中,对应时刻的数字就能全部自动更新

 第三步:在右上角的智能显示中选择“热图”

624f383a4d7b18661af22532059da97e.png

图像便变成了这个亚子,此时是通过正方形的面积代表数字的大小

63d531554c54ff314937c264c8378893.png

 第四步:

为了更加直观醒目,我们可以把订单数移到标记中的颜色区,此时深蓝浅蓝的程度已有所区分

7ac33a360522fa8fea2ca2871d9d2e4d.png

如果想要用反差更大的颜色表示,我们也可以点击“颜色”,在编辑颜色中选择我常用的红蓝发散,点击倒序,用红色代表人流量密集的时候,蓝色表示冷清的时候

b676a0b527dde0b77d7dc87e653cf85c.png 978c2a57fb0ff9b1db5e3e14b3f2fbf7.png

铛铛,同样的,简单四步,tableau就能完成热图的制作。不仅可以用图形大小,也可以用颜色深浅代表数量,更加直观方便

2.Python——热图

第一步:导入数据

47f3d675fadd7bb614ee9549dbb6e3d9.png

... ...

8ab182d2366d292922521f6d6a7c150a.png

 第二步:创建热力图实例

这里可以通过设置init_opts属性里面的theme属性来更改图表主题(如果不设置,主题默认为white),也可以通过width和height属性自定义画布大小

fed26ebdeb134b96e38f2f4eba1dc5c5.png

 第三步:添加x轴数据

ab41dd83bd2ebf22691f0fc2dac8c35f.png

第四步:添加y轴数据

dae6f46b83f9adc007d959cb1c6f00e1.png

 第五步:设置全局变量

a0fe749f89062bea4a9b04af485286c9.png

第六步:保存图表为html文件

27479f5fe06f4fcdba358405b83ca209.png da20433b8d62f79bc39481b06d43bc0e.png

可以看到,周一到周五下午一点到四点是订单集中出现的时侯,因此应当在这一时间段内增加店面服务人员个数

03

dc50693f9478b5a722730b4e6e362976.gif

城市发展期望

小王想等自己的奶茶店有了足够的规模后,在各个城市开分店,那他应该如何选择呢?

小王搜集了北京、台北、上海、大连、重庆、广州这些城市奶茶店的销售额,让我们绘制一下主题河流图帮帮他吧

在这个图表中,我们可以很清晰地看到每个城市奶茶店发展的趋势,以及对事件冲击的敏感度

1.Tableau——图形面积图

 第一步:

将日期拖入列中,点击右边的向下箭头

因为这边主要是以天为单位进行比较,所以我们选择第二个有具体日期的 “天”。同时,将销售额拖入行中

3a222237cfa79f289a4c9205da31c98a.png

 第二步:

选择智能图表中的面积图(离散),销售的大小便转化为图像的面积

4560789bfad7a73d9af34c9250026e3e.png

 第三步:

“城市”放进颜色标签,区分不同的城市

b00526997747df269678ff281cf3bb0c.png 9a02af38c904695e78d39aeb73a7538d.png

 第四步:

如果想把各个城市的销量分开比较,只需把“城市”拖入行即可

160762225a9e5100d59fd870a1d53a30.png

2.Python——主题河流图

第一步:导入数据

1c5f853861341e94de2e7957e8421427.png

... ...

第二步:创建主题河流图实例

3e4294e630cffee0c83e7bff6435eae3.png

 第三步:添加数据

这里可以设置x轴所在的位置

73f83ef935ef9b94ec3cfc6728f712e2.png

 第四步:设置全局变量,指定坐标轴指针

2cdb46a48a2a6069117f1bf409ada2dd.png

 第五步:保存图表为html文件

4bf2c311b46ee91ad01b292fa3342717.png

从图中我们可以看到,台北和上海的奶茶店受冲击影响较小,而且发展一直很稳定,所以可以考虑在这两个城市开设分店。并且尤其建议开设在台北,因为台北的市场正处于发展阶段,且没有上海的大,因此竞争相对较弱、发展前景好

ec6746c571265204bdc014f9cefbf3e3.png

04

dc50693f9478b5a722730b4e6e362976.gif

客户转化率

一些软件企业需要测试自己产品的客户接受程度。其中,客户转化率就是一个非常重要的指标。在这里,我们用漏斗图就能很清楚的看到每一阶段客户的转化程度

1.Tableau——漏斗图

 第一步:

将维度(阶段)和度量(数量)放在对应的位置,并点击降序小图标

fe83d15e3151141fb89469504e87d2d1.png 153db610179d65a3677392602eb1c0c4.png

 第二步:

复制度量(数量)放在列上原本数量字段的右边,同时选中左半边的轴,右击点击“编辑轴”,勾选倒序。此时漏斗图的雏形已初步建成

5d8974f8259d28dd26bbd3e8fe5bf022.png

 第三步:

将数量拖入第一个总和标记的标签中,在漏斗图左边即可显示具体的数量值

dd96272d517931581ac7ebbafe0f66bd.png

 第四步:

显示转化率:将数量拖入第二个总和标记的标签中,右击点添加表计算,计算类型选百分比,计算依据按特定维度,计算根据相对于第一个

50560091d9bd9e57ceb086467028e08c.png 5dfd645ec10d7cf708783944d5a18e7d.png

 第五步:

在标记全部中,将条形图格式改成“区域形式”,简单的漏斗图就搞定啦!

从图像中可以看出,在所有进入网站的顾客中,只有近似于5%的顾客会最终购买产品。转化率比较低,需要对中间环节进行反思:广告设计、客服、价格设定……究竟哪一步可以更加优化

0c5b935fb0d47745968e36fdcbc52c90.png 76e100a645a8f071d51b85aa0a1bf7d6.png

2.Python——漏斗图

 第一步:导入数据

67e55cc76ddbefc5c8a5e0b8e306aa04.png

 第二步:绘制图表

599eea514d2756e4c67ce61141a01a78.png bafc33c1200a2f1e73ba1deac57afed4.png

05

dc50693f9478b5a722730b4e6e362976.gif

销售盈亏比较图

作为一家大型超市的老板,需要了解商场整体业绩的走势。比起柱状图,瀑布图更能直观的反映出不同物品或单位时间的盈亏情况

1.Tableau——瀑布图(不同物品的盈亏情况)

 第一步:

将维度(子类别)和度量(利润)放在对应的位置,并点击升序小图标,此时图像按利润大小从低到高排列

3fbc3db556910a91dfcfe502b6845ff5.png

 第二步:

在总和(利润)下选择快速表计算中的汇总,图像形状有所改变,因为此时圆柱的高低代表前面所有物品利润之和

effbcf975ec92b56bde39b64f7e90878.png

 第三步:

将标记中的“条形图”改成“甘特条形图”,此时“瀑布”的“顶端”已经完成✅甘特图是瀑布图的必经之路

50ced8b7c20051728c7617a58f9c0c63.png

第四步:

右击利润,创建新的计算字段。将其命名为长方形高度,并在利润前添加一个负号。如果物品利润为正,长方形高度自起始线向下延伸;若利润为负,长方形高度自起始线向上延伸

5b82809157a75729a6ff4fa7030224b4.png

 第五步:

将长方形高度拖入大小中,此时瀑布图的雏形已大致完成~

d41b4f790bc20bee6319bccd21185c77.png

 第六步:

将利润拖入颜色中,并将右击利润-颜色标签选择快速表计算-汇总

编辑颜色,选择自己喜欢的对比发散型颜色。点击高级,勾选中心,确认中心数值为0。若利润大于0,则瀑布图变成蓝色;反之,瀑布图变成橘色

e8913765921f98c3e7e28fe5818e8418.png

 第七步:

最后将总和(利润)拖入标签中,可以显示每种物品的利润

3f7185feb01ec6305e4ac1e5a78355d1.png

瀑布图完成~从图中可以看出,前四样物品一直处于累计亏损状态,从信封后,整体情况开始扭亏为盈

2.Python——瀑布图(每天的盈亏情况)

第一步:整理数据

在作图之前,我们先把数据分成两个部分,收入、支出。再分别根据收入、支出计算当月剩余利润,以此来绘制图表

7974f426ebf93d4ef2f8c2f78d60da90.png

 第二步:绘制图表

b6bc3ce0cd0c2d832c7247edfc15d4ea.png 664026d33ed651142c7b757115ceaa17.png

10655fb6ea532c1cf85177d00e41579c.gif

想获得高质量实习refer机会吗?

添加lala机器人小可爱

ta就会拉大家进入【实习refer】/【技能实操】/【互联网求职】等超高质量社群哦

可获得日均100+条实习信息

20000+

985/211/海外学子均已加入

就差你啦!!!

2a733b726dd1ef249d06dbe670ecd2d6.png

往期精彩

bc8c95645bed17b94840c53ce060a164.png

e62c14bfe00e6d73ca549c8bebba3f28.png

debe8e632147754854969d458c05d7d3.png

52866bcc248cf35030813cf4a3e2ef5a.png

她们是两个北大girl

想做最可爱的求职知识共享平台

微博lala实习日记本,粉丝 10w+

希望热爱分享的你来到这里

如星星,独一无二,闪闪发光

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值