Matplotlib库的简单用法
Matplotlib是python科学计算中最基础、最重要的绘图库,是Python中最流行的数据可视化库之一,它提供了大量的绘图函数和工具,可以让用户创建各种类型的图表和图形,一般使用matpltlib完全可以满足我们绘图需求,当然现在也出现了seaborn这样的构建在matplotlib之上绘图库,能够一定程度上简化我们绘图过程。但是它的基础还是matplotlib,所有利用python进行数据分析可视化,学习matplotlib是必须要打的基础。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ALHKimvf-1681693934956)(1524432964-2.gif)]](https://img-blog.csdnimg.cn/1dcff895848346aa95dcc93e245d7ca0.gif)
安装Matplotlib
在使用Matplotlib之前,我们需要先安装它。可以通过pip命令来安装Matplotlib:
pip install matplotlib
如果你使用的是Anaconda环境,也可以通过Anaconda Navigator来安装Matplotlib。
导入Matplotlib
安装完Matplotlib后,我们需要将其导入到Python脚本中:
import matplotlib.pyplot as plt
这行代码会将Matplotlib的pyplot模块导入,并将其重命名为plt。
绘制图形
Matplotlib提供了多种绘图函数,其中常用的有以下几种:
1.折线图:plot()
折线图是一种显示数据变化趋势的类型。我们使用plot()函数来创建折线图,示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y)
plt.show()
这个程序会生成一个简单的折线图,其中x轴表示1到5的整数,y轴表示x的平方值。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3lCQlrwT-1681693934970)(image-20230416175901961.png)]](https://img-blog.csdnimg.cn/0bf610c418d04e82879dd8159ede01c6.png)
除了以上代码,还可以通过format字符串来设置线条颜色和样式,例如’dashed’、‘dotted’、'solid’等。示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y, 'r--')
plt.show()
其中’r’表示红色,'–'表示虚线。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hW7PZKVc-1681693934970)(image-20230416180100105.png)]](https://img-blog.csdnimg.cn/dc5e0896f1254a1f83058baef843ce97.png)
2.散点图:scatter()
散点图是一种显示两个变量之间关系的类型。我们使用scatter()函数来创建散点图,示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.scatter(x, y)
plt.show()
这个程序会生成一个简单的散点图,显示x和y之间的关系。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d3A21i6M-1681693934972)(image-20230416183653501.png)]](https://img-blog.csdnimg.cn/9377c63639fb483f8ef8f6e276da8012.png)
除了以上代码,还可以通过c参数来设置点的颜色,s参数来设置点的大小,alpha参数来设置点的透明度等。示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.scatter(x, y, c='red', s=50, alpha=0.5)
plt.show()
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jk1tasmw-1681693934974)(image-20230416192140366.png)]](https://img-blog.csdnimg.cn/1a2b9c787d5c4e67a8e318917f664241.png)
3.柱状图:bar()
柱状图是一种用于比较不同变量值之间差异的类型。我们使用bar()函数来创建柱状图,示例代码如下:
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'E']
y = [5, 7, 3, 8, 4]
plt.bar(x, y)
plt.show()
这个程序会生成一个简单的柱状图,显示x和y之间的差异。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lz8O6H8b-1681693934975)(image-20230416192227582.png)]](https://img-blog.csdnimg.cn/69b7c555fd4e427388e52d14b3f84f0a.png)
除了以上代码,还可以通过width参数来设置柱子的宽度,color参数来设置颜色等。示例代码如下:
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'E']
y = [5, 7, 3, 8, 4]
plt.bar(x, y, width=0.5, color='red')
plt.show()
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qNz6txDQ-1681693934976)(image-20230416192256681.png)]](https://img-blog.csdnimg.cn/dfd5839cab2842d395a204b181664ddc.png)
4.直方图:hist()
直方图是一种用于展示数据分布情况的类型。我们使用hist()函数来创建直方图,示例代码如下:
import matplotlib.pyplot as plt
data = [1, 2, 3, 3, 4, 5, 5, 5, 6, 7]
plt.hist(data)
plt.show()
这个程序会生成一个简单的直方图,显示data中数据的分布情况。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z3yBvAYi-1681693934978)(image-20230416192348914.png)]](https://img-blog.csdnimg.cn/6324fcc0b70d49a596e7b66a46c9ebde.png)
5.饼状图:pie()
饼状图是一种用于展示数据占比情况的类型。我们使用pie()函数来创建饼状图,示例代码如下:
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
plt.pie(sizes, labels=labels)
plt.show()
这个程序会生成一个简单的饼状图,显示不同标签占据的百分比。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gGzxFFpO-1681693934981)(image-20230416192753038.png)]](https://img-blog.csdnimg.cn/281e91d159954ce6b071246cff7d9aa6.png)
除了以上代码,还可以通过explode参数来突出某些扇形,autopct参数来显示百分比等。示例代码如下:
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
explode = (0.1, 0, 0, 0)
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%')
plt.show()
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Nueq9TN-1681693934984)(image-20230416192816139.png)]](https://img-blog.csdnimg.cn/cba54229c70c4343a80958f0e017bdba.png)
设置图形属性
在绘图时,我们可以通过设置图形属性来调整其外观和样式。
1.图形标题、坐标轴标签:title(), xlabel(), ylabel()
我们可以使用title()函数来添加图形标题,xlabel()函数来添加x轴标签,ylabel()函数来添加y轴标签。示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.title('My Plot')
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.plot(x, y)
plt.show()
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hbXq3HMR-1681693934986)(image-20230416193035780.png)]](https://img-blog.csdnimg.cn/e5934c45e6ea416989578e3e0056c00c.png)
2.图例:legend()
当我们在一个图中绘制多个数据系列时,可以使用legend()函数添加图例。示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [1, 2, 3, 4, 5]
plt.plot(x, y1, label='series1')
plt.plot(x, y2, label='series2')
plt.legend()
plt.show()
这个程序会生成一个带有图例的折线图,其中显示了两个数据系列。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMmvK0ok-1681693934989)(image-20230416192904641.png)]](https://img-blog.csdnimg.cn/67954bc0c86544cc8416b4434c1b5a5c.png)
除了以上代码,还可以通过loc参数来设置图例位置,例如’upper right’、'lower left’等。示例代码如下:
plt.legend(loc='upper right')
3.图形大小:figure()
我们可以使用figure()函数来调整图形大小。示例代码如下:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.figure(figsize=(8, 6))
plt.plot(x, y)
plt.show()
这个程序会生成一个大小为8x6英寸的折线图。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q2H9nvhd-1681693934991)(image-20230416192931443.png)]](https://img-blog.csdnimg.cn/f7e79108d033425f8c33f3d0452b41ec.png)
除了以上代码,还可以通过dpi参数来设置图形分辨率等。
保存图形
最后,我们可以使用savefig()函数将已经创建好的图形保存为图片文件。例如:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y)
plt.savefig('myplot.png')
这个程序会生成一个名为myplot.png的PNG图片文件,其中包含了我们所绘制的折线图。
结论
Matplotlib是一个非常强大的数据可视化库,可以让我们轻松地创建各种类型的图表和图形。在本文中,我们介绍了如何安装和导入Matplotlib,并介绍了一些常用的绘图函数和设置图形属性的方法,以及如何将已经创建好的图形保存为图片文件。这些知识可以帮助你更好地使用Matplotlib来实现数据可视化。
在下期将介绍Matplotlib更为详细的用法,敬请期待。


















