匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

Python 数据可视化库 Matplotlib,让你的数据更加生动

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() 显示图表。

运行该脚本,就可以在屏幕上看到下图所示的输出结果。

![Image text](https://p.ananas.chaoxing.com/star3/origin/db1c72f8d391d1cefc53016fc6482773.png)

添加标题与标签:

我们可以为图表添加标题和标签,让它更加易于理解。

```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"。

运行该脚本,就可以在屏幕上看到下图所示的输出结果。

![Image text](https://p.ananas.chaoxing.com/star3/origin/f7cdd167c0d9dd1023db8c54fe14203d.png)

绘制散点图:

散点图是一种常用的图表类型,它可以显示两个变量之间的相关性。

```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 参数表示大小。

运行该脚本,就可以在屏幕上看到下图所示的输出结果。

![Image text](https://p.ananas.chaoxing.com/star3/origin/4f909e3b9ba7bac9b0f04d0c1bf6eb51.png)

绘制直方图:

直方图是一种常用的图表类型,它可以显示数据的分布情况。

```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 参数表示将数据分成多少个区间。

运行该脚本,就可以在屏幕上看到下图所示的输出结果。

![Image text](https://p.ananas.chaoxing.com/star3/origin/30d6523a7652fe8363fb2efed9c9f11f.png)

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