matplotlib是一个用于创建出版质量图表的桌面绘图包(主要是2D方面)。
该项目是由John Hunter于2002年启动的,matplotlib支持各种操作系统上许多不同的GUI后端,而且还能将图片导出为各种常见的矢量(vector)和光栅(raster)图:PDF、SVG、JPG、PNG、BMP、GIF等。
python中有许多的包,在使用是就可以直接在python中调用该包中的模块,为此,在使用一些包的时候,我们需要先去安装包,关于(如何导入包,包中的模块、以及如何制造包,在我的博客中的python专栏中介绍了这些内容,有需要的可以自行查阅)
安装的最简单直接的方法是:在python下的scripts文件进入cmd命令,然后输入:
pip install matplotlib
注意事项:
在安装的时候,由于每个人的安装环境是不尽相同,多以在安装时会会遇到一些问题,这时候可以在CSDN中查阅,有很多解决此类问题的帖子,在学习中也可遇到别的问题也需要查阅相关问题的解决办法
首先是导入matplotlib中的一些模块
import matplotlib.pyplot as plt
案例1:(快速体验)
import matplotlib.pyplot as plt
import numpy as np
data=np.arange(10)
print(f'data={
data}')
#上面的输出为:data=[0 1 2 3 4 5 6 7 8 9]
plt.plot(data)
plt.show()
tips:
此时一定有这样的疑问,在绘制图形是,为什么,只是提供一个数据,可以绘制出一个二维图形,之所以这样:
是因为在绘制图形时,会默认赋值给x轴的坐标是从0开始的数据例如:上图[0 1 2 3 4 5 6 7 8 9],所以第一个点是(0,0),第二个点是(1,1)后面的点以此类推
示例:修改x的坐标为[2,4,5,6,7,8,9,10,11,11]
修改后的代码为:
data_y=np.arange(10)
print(f'data={
data_y}')
data_x=[2,4,5,6,7,8,9,10,11,11]
plt.plot(data_x,data_y)
plt.show()
matplotlib的图像都位于Figure对象中,可以用plt.figure创建一个新的Figure
tips:
对图形进行分隔成不同的画图区域,和matlab中的划分是类似的
演示代码:
fig=plt.figure()
figure1=fig.add_subplot(2,2,1)
plt.show()
注意事项
此时的add_subplot(2,2,1)的含义是将figure划分成2*2,也就是四份,然后取第一份
tips:
此时的排列和matlab是不一样的的matlab是按列排序
示例:(在一个图中绘制多个子图)
fig = plt.figure()
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)
#此时在子图中绘制图形,不需要再使用plt.plot
ax1.plot(np.random.randn(50).cumsum(), 'k--')
ax2.hist(np.random.randn(100), bins=20, color='k', alpha=0.3)#绘制柱状图
ax3.scatter(np.arange(30), np.arange(30) + 3 * np.random.randn(30))#绘制散点图
plt.show()
fig, axes = plt.subplots(2, 2, sharex