编程学习网 > 编程语言 > Python > python matplotlib教程(matplotlib 绘图上手)
2023
04-18

python matplotlib教程(matplotlib 绘图上手)


-为什么使用matplotlib?-

matplotlib是一个python 2D绘图库,利用它可以画出许多高质量的图像。只需几行代码即可生成直方图,条形图,饼图,散点图等。
Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。
希望本文能帮助大家了解如何将matplotlib用于自己的可视化。
Matplotlib,pyplot和pylab?
Matplotlib是整个包,pyplot是Matplotlib中的一个模块,并且pylab是一个安装在一起的模块。
pylab和pyplot的区别是,前者将numpy导入了其命名空间中,这样会使pylab表现的和matlab更加相似。现在来说我们经常使用pyplot,因为pyplot相比pylab更加纯粹。
numpy,pandas?
matplotlib是可视化的表达,那么在图形的绘制中肯定会涉及一些数据处理。
pandas和numpy则是python中最好用的两个数据分析库,使用它们,能够解决超过90%的数据分析问题。
- matplotlib 绘图上手 -
如果你还没有安装 Python 环境,那么推荐你安装 Anaconda,对于上手 Python 来说更加简单,不容易出差错。
Anaconda 的安装教程网上很多,找到对应版本客户端安装即可。安装好后,即可在终端(cmd)安装核心库 Matplotlib。
安装 Matplotlib
python -m pip install matplotlib
然后打开 Jupyter Notebook(安装好 Anaconda 后,Jupyter 也已装好,在应用窗口中可以找到),我们就可以直接上手了。
图的构成

以上图片来自matplotlib官网,它向我们展示了matplotlib的图的构成元素。
大多数元素都比较好理解:
坐标轴(axis)、坐标轴名称(axis label)、坐标轴刻度(tick)、坐标轴刻度标签(tick label)、网格线(grid)、图例(legend)、标题(title)......
01 title设置

import matplotlib.pyplot as plt
plt.title("title")#括号当中输入标题的名称
plt.show()

如果title是中文,matplotlib会乱码,这时需要加上下面这段代码:
plt.rcParams['font.sans-serif']=['SimHei']

02 Figure对象
在matplotlib中,整个图像为一个Figure对象。
在Figure对象中可以包含一个或者多个Axes对象。每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域。
plt.figure(figsize=(6, 3))
plt.plot(6, 3)
plt.plot(3, 3 * 2)
plt.show()

03 坐标轴及标签
plt.xlim(0,6) #x轴坐标轴
plt.ylim((0, 3))#y轴坐标轴
plt.xlabel('X')#x轴标签
plt.ylabel('Y')#y轴标签
plt.show()

如果需要将数字设为负数,也可能出现乱码的情况,这时候可以加下面的代码:
plt.rcParams['axes.unicode_minus']=False

04 设置label和legend
设置 label 和 legend 的目的就是为了区分出每个数据对应的图形名称,legend的loc参数用于设置图例位置。
plt.plot(2, 3, label="123")#第一个label
plt.plot(2, 3* 2, label="456")#第二个label
plt.legend(loc='best')#图列位置,可选best,center等
plt.show()






05 添加注释
有时候我们需要对特定的点进行标注,我们可以使用 plt.annotate 函数来实现:
s: 注释信息内容
xy:箭头点所在的坐标位置
xytext:注释内容的坐标位置
arrowprops:设置指向箭头的参数
x=np.linspace(0,10,200)#从0到10之间等距产生200个值
y=np.sin(x)
plt.plot(x,y,linestyle=':',color='b')
plt.annotate(s='标记点',xy=(3,np.sin(3)),xytext=(4,-0.5),weight='bold',color='b',\arrowprops=dict(arrowstyle='-|>',color='k'))
plt.show()

05 使用子图
如果需要将多张子图展示在一起,可以使用 subplot() 实现。
即在调用 plot()函数之前需要先调用 subplot() 函数。
该函数的第一个参数代表子图的总行数,第二个参数代表子图的总列数,第三个参数代表活跃区域。
ax1 = plt.subplot(2, 2, 1)
plt.plot(x,np.sin(x), 'k')
ax2 = plt.subplot(2, 2, 2, sharey=ax1) # 与 ax1 共享y轴
plt.plot(x, np.cos(x), 'g')
ax3 = plt.subplot(2, 2, 3)
plt.plot(x,x, 'r')
ax4 = plt.subplot(2, 2, 4, sharey=ax3) # 与 ax3 共享y轴
plt.plot(x, 2*x, 'y')


以上就是python matplotlib教程(matplotlib 绘图上手)的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。


扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取