我常用的可视化工具主要有Tableau、Excel、Python,其中Tableau、Excel是软件制图,比较依赖软件本身功能,像Tableau可以制作复杂炫酷的图表,Excel则更多是日常图表。
Python是代码制图,依赖于matplotlib、seaborn、plotly等这样的第三方库,对使用者的代码能力有一定要求,但是Python绘制图表灵活性更高,基本能绘制所有高大上的图表。
在Python所有的可视化库中,以matplotlib最为强大,它是Python可视化生态的基石,既能绘制二维静态图,也能绘制三维图表、动态图表、交互图表。
如下贝壳图,用matplotlib绘制国内38城居住自由指数
这里借助matplotlib
+geopandas
+shapely
的工具组合来实现
代码过程参考:
再比如绘制商业排名图,这里是纯matplotlib进行绘制,代码大概200行左右
代码过程参考:
星球研究所的大坝图,也可以用matplotlib复刻出来
代码过程参考:
matplotlib以高度可定制化著称,它把图表每一个元素当作对象,可以进行任意的组合、优化。
matplotlib 图由层次结构丰富的多种元素组成,最终通过构图逻辑形成下图所示的实际图形。
比如说绘制以下曲线图,只需要不到20行代码。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 500)
y = np.sin(x)
plt.rc('lines', linewidth=2.5)
fig, ax = plt.subplots()
# Using set_dashes() and set_capstyle() to modify dashing of an existing line.
line1, = ax.plot(x, y, label='Using set_dashes() and set_dash_capstyle()')
line1.set_dashes([2, 2, 10, 2]) # 2pt line, 2pt break, 10pt line, 2pt break.
line1.set_dash_capstyle('round')
# Using plot(..., dashes=...) to set the dashing when creating a line.
line2, = ax.plot(x, y - 0.2, dashes=[6, 2], label='Using the dashes parameter')
# Using plot(..., dashes=..., gapcolor=...) to set the dashing and
# alternating color when creating a line.
line3, = ax.plot(x, y - 0.4, dashes=[4, 4], gapcolor='tab:pink',
label='Using the dashes and gapcolor parameters')
ax.legend(handlelength=4)
plt.show()
如何安装matplotlib?
matplotlib及其依赖包可以通过pip安装,非常简单。在命令行中输入:
pip install matplotlib
对于新手,疲于安装各种包。可以直接下载安装Anaconda,包含了python及数百个数据科学第三方库,一劳永逸。
怎么使用matplotlib绘图?
1、打开jupyter notebook,新建python3笔记本,以下界面:
2、导入pyplot模块,使用magic图像函数用来在notebook中显示图表
import matplotlib.pyplot as plt
%matplotlib inline #magic函数
3、键入绘图代码
plt.figure() #创建一个figure对象
plt.plot([1, 2, 3, 4],[1, 2, 3, 4],label='my first line') #绘图函数plot
plt.legend() # 图例函数,用于调整图例位置等
plt.xlabel('X') # x轴标签
plt.ylabel('Y') # y轴标签
plt.show() # 显示图表
4、结果
这里的pyplot模块方法函数都是做什么的呢?
- plot() : 根据给的x和y值绘制直线或标记图
- figure() : 创建一个新的图表
- legend() : 在图表上放置图例
- xlabel() : 设置x轴标签
- ylabel() : 设置y轴标签
- show() : 显示图表
最后,对于所有有志于做数据分析师、商业数据分析、数据治理的小伙伴,一定要加快提升自己。世界经济论坛发布的《2023年未来就业报告》对未来五年就业市场进行深入分析,报告预测未来5年内增长最快的十大岗位,就包括了数据分析师和科学家以及数字化转型专业人员。
强烈建议重视CDA数据分析师证书,CDA数据分析师一级考试涉及的多个业务分析模型,这些模型在实战中超有用。尤其是想进入电网、银行、电信、烟草行业的小伙伴们,尽量考过CDA数据分析师二级,因为这些单位几乎都会在招聘中说明CDA数据分析师优先。
https://www.cdaglobal.com/?source=zwj
大家考个证书,既可以巩固自己的数据分析技术,还能有证书加持,对于部分工作有很大好处。