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 是一个非常强大的数据可视化工具,仅在此介绍了其中的几个基本用法。如果您想深入了解,请参考官方文档。