详解数据可视化工具matplotlib:功能、安装与使用指南
详解数据可视化工具matplotlib:功能、安装与使用指南
数据可视化是数据分析和商业智能领域的重要工具,能够帮助人们更直观地理解数据背后的信息。在众多数据可视化工具中,matplotlib以其强大的功能和高度的灵活性而备受推崇。本文将详细介绍matplotlib的使用方法和应用场景,帮助读者掌握这一强大的数据可视化工具。
常用的数据可视化工具
在数据可视化领域,常用的工具主要包括Tableau、Excel和Python。其中,Tableau和Excel是软件制图工具,Tableau可以制作复杂炫酷的图表,而Excel则更多用于日常图表的制作。Python则是一种代码制图工具,通过matplotlib、seaborn、plotly等第三方库实现数据可视化,虽然对使用者的代码能力有一定要求,但其灵活性更高,几乎可以绘制所有类型的图表。
matplotlib的功能与特点
在Python的可视化库中,matplotlib最为强大,它是Python可视化生态的基石,既能绘制二维静态图,也能绘制三维图表、动态图表和交互图表。以下是几个使用matplotlib绘制的实例:
贝壳图:国内38城居住自由指数
这个案例借助matplotlib、geopandas和shapely的工具组合来实现。具体代码过程可以参考《在模仿中精进数据可视化01:国内38城居住自由指数》。
商业排名图
这是一个纯matplotlib绘制的商业排名图,代码量大约200行。具体代码过程可以参考《在模仿中精进数据可视化05:疫情期间市值增长top25公司》。
星球研究所的大坝图
这个案例展示了如何用matplotlib复刻星球研究所的大坝分布可视化。具体代码过程可以参考《在模仿中精进数据可视化07:星球研究所大坝分布可视化》。
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。Anaconda包含了Python及数百个数据科学第三方库,可以一劳永逸地解决包管理问题。
使用步骤
- 打开Jupyter Notebook,新建Python3笔记本。
- 导入pyplot模块,并使用magic图像函数在notebook中显示图表:
import matplotlib.pyplot as plt
%matplotlib inline # magic函数
- 键入绘图代码:
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() # 显示图表
- 结果展示:
这里的pyplot模块方法函数功能如下:
plot()
:根据给的x和y值绘制直线或标记图figure()
:创建一个新的图表legend()
:在图表上放置图例xlabel()
:设置x轴标签ylabel()
:设置y轴标签show()
:显示图表
数据分析师的职业前景
根据世界经济论坛发布的《2023年未来就业报告》,在未来五年内,数据分析师和科学家以及数字化转型专业人员将成为增长最快的岗位之一。对于有志于从事数据分析、商业分析和数据治理的读者,建议重视CDA数据分析师证书。CDA数据分析师一级考试涉及的多个业务分析模型在实战中非常有用。特别是想进入电网、银行、电信、烟草等行业的读者,建议考过CDA数据分析师二级,因为这些单位在招聘时往往优先考虑持有CDA证书的候选人。