Python 数据可视化库 Matplotlib,让你的数据更加生动
简介:
在我们做数据分析时,往往需要将数据可视化,借助图表等形式展现出来。Matplotlib 是 Python 中最常用的数据可视化库,它可以绘制多种类型的图表,如直方图、散点图、折线图等。
安装:
在终端中执行以下命令进行安装:
```
pip install matplotlib
```
使用:
在导入 Matplotlib 之前,需要先导入 Numpy 库。
绘制简单的线性图
下面的代码展示了如何使用 Matplotlib 绘制一个简单的线性图。
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()
```
代码解析:
第一行导入了 Matplotlib 库,import matplotlib.pyplot as plt 只导入了 pyplot 模块,并为其起了一个别名 plt。
第二行导入了 Numpy 库,用来生成 x 和 y 值。
第三行生成了 x 值,np.linspace(0, 10, 100) 是在 0 到 10 之间生成 100 个点。
第四行生成了 y 值,np.sin(x) calculates the value of sin for each element in the array x.
第五行 plt.plot(x, y) 绘制了一条曲线,将 x 和 y 传递给 plot 方法。
第六行 plt.show() 显示图表。
运行该脚本,就可以在屏幕上看到下图所示的输出结果。

添加标题与标签:
我们可以为图表添加标题和标签,让它更加易于理解。
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.title("Sine Wave")
plt.xlabel("x")
plt.ylabel("y")
plt.show()
```
代码分析:
第五行 plt.title("Sine Wave") 为图表添加了一个标题,值为 "Sine Wave"。
第六行 plt.xlabel("x")为 x 轴添加了一个标签,值为 "x"。
第七行 plt.ylabel("y") 为 y 轴添加了一个标签,值为 "y"。
运行该脚本,就可以在屏幕上看到下图所示的输出结果。

绘制散点图:
散点图是一种常用的图表类型,它可以显示两个变量之间的相关性。
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)
sizes = 1000 * np.random.rand(50)
plt.scatter(x, y, c=colors, s=sizes)
plt.show()
```
代码解析:
第三行生成了 50 个随机数作为 x 坐标,第四行生成了 50 个随机数作为 y 坐标。
第五行生成了 50 个随机数作为颜色。
第六行生成了一个包含 50 个元素的数组,每个元素都是 0 到 1 之间的随机数,用于表示点的大小。
第八行 plt.scatter(x, y, c=colors, s=sizes) 绘制了一个散点图,其中 c 参数表示颜色,s 参数表示大小。
运行该脚本,就可以在屏幕上看到下图所示的输出结果。

绘制直方图:
直方图是一种常用的图表类型,它可以显示数据的分布情况。
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(1000)
plt.hist(x, bins=50)
plt.show()
```
代码分析:
第三行生成了一个包含 1000 个元素的数组,每个元素都是标准正态分布的随机数。
第五行 plt.hist(x, bins=50) 绘制了一个直方图,其中 bins 参数表示将数据分成多少个区间。
运行该脚本,就可以在屏幕上看到下图所示的输出结果。

最后,我们需要说明的是,Matplotlib 是一个非常强大的数据可视化工具,仅在此介绍了其中的几个基本用法。如果您想深入了解,请参考官方文档。