更新时间:2022年03月17日10时32分 来源:传智教育 浏览次数:
网格是从刻度线开始延伸,贯穿至整个绘图区域的辅助线条,它能帮助人们轻松地查看图形的数值。网格按不同的方向可以分为垂直网格的水平网格,这两种网格既可以单独使用,也可以同时使用,常见于添加图表精度、分辨图形细微差别的场景。
matplotlib中可以直接使用pyplot模块的grid()函数显示网格,grid()函数的语法格式如下所示:
grid(b=None, which='major', axis='both', **kwargs)
该函数常用参数的含义如下。
·b:表示是否显示网格。若提供其他关键字参数,则b参数设为True。
·which:表示显示网格的类型,支持major、minor、both这3种类型,默认为major。
·axis:表示显示哪个方向的网格,该参数支持both、x和y这3个选项,默认为both。
·linewidth或lw:表示网格线的宽度。
此外,还可以使用Axes对象的grid()方法显示网格。需要说明的是,坐标轴若没有刻度,就无法显示网格。
在3.3.2节绘制的正弦和余弦曲线图中显示水平网格,全部代码如下。
import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False x = np.linspace(-np.pi, np.pi, 256, endpoint=True) y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1, x, y2) # 设置x轴和y轴的标签 plt.xlabel("x轴") plt.ylabel("y轴") # 添加标题 plt.title("正弦曲线和余弦曲线") # 设置x轴的刻度范围和刻度标签 plt.xlim(x.min() * 1.5, x.max() * 1.5) plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$']) # 添加图例 plt.legend(['正弦', '余弦'], shadow=True, fancybox=True) # 显示网格 plt.grid(b=True, axis='y', linewidth=0.3) plt.show()
运行程序,效果如图3-9所示。
图3-9 正弦和余弦曲线图——添加网格