☰
Matplotlib入门教程(七):网格线详解——grid() 方法与样式定制
2026/10/1 14:22:36 网站建设 项目流程
一、什么是网格线?

我们可以使用 pyplot 中的grid()方法来设置图表中的网格线。

网格线的作用:

作用说明
辅助读数帮助读者估算数据点的值
对齐参考方便比较不同曲线的位置
视觉分区让图表结构更清晰

基本语法:

python

matplotlib.pyplot.grid(b=None, which='major', axis='both', **kwargs)
二、grid() 参数详解
1. 参数说明
参数可选值默认值说明
bTrue/False/NoneNone是否显示网格线
which'major'/'minor'/'both''major'应用更改的网格线类型
axis'both'/'x'/'y''both'显示哪个方向的网格线
**kwargs样式参数—颜色、线型、宽度等

关于 b 参数:

  • b=None:切换网格线状态(当前开则关,当前关则开)。

  • b=True:显示网格线。

  • b=False:不显示网格线。

  • 如果设置了**kwargs参数,则b默认为True。

关于 which 参数:

值说明
'major'主刻度网格线(默认)
'minor'次刻度网格线
'both'主次刻度都显示
2. 最简单的网格线

参数使用默认值:

python

import numpy as np import matplotlib.pyplot as plt x = np.array([1, 2, 3, 4]) y = np.array([1, 4, 9, 16]) plt.title("RUNOOB grid() Test") plt.xlabel("x - label") plt.ylabel("y - label") plt.plot(x, y) plt.grid() plt.show()

效果:在 x 轴和 y 轴方向都显示默认样式的网格线。

三、控制网格线方向(axis 参数)

axis参数用于设置显示哪个方向的网格线。

值效果
'both'(默认)x 轴和 y 轴方向都显示
'x'只显示 x 轴方向的网格线(竖线)
'y'只显示 y 轴方向的网格线(横线)
只显示 x 轴方向的网格线

python

import numpy as np import matplotlib.pyplot as plt x = np.array([1, 2, 3, 4]) y = np.array([1, 4, 9, 16]) plt.title("RUNOOB grid() Test") plt.xlabel("x - label") plt.ylabel("y - label") plt.plot(x, y) plt.grid(axis='x') # 只在 x 轴方向显示网格线 plt.show()

效果:只显示垂直于 x 轴的竖线。

提示:axis='x'显示的是垂直于 x 轴的线(即竖线),axis='y'显示的是垂直于 y 轴的线(即横线)。这个方向容易混淆,记忆方法是"axis 指定的是刻度所在的轴"。

四、定制网格线样式

网格线的样式通过**kwargs参数设置,格式如下:

python

grid(color='color', linestyle='linestyle', linewidth=number)
1. 颜色(color)
颜色标记描述
'b'蓝色
'm'洋红色
'g'绿色
'y'黄色
'r'红色
'k'黑色
'w'白色
'c'青绿色
'#008000'RGB 颜色字符串
2. 线型(linestyle)
线型标记描述
'-'实线
'--'破折线
'-.'点划线
':'虚线
3. 宽度(linewidth)

设置线的宽度,可以设置一个数字。

4. 样式定制实例

python

import numpy as np import matplotlib.pyplot as plt x = np.array([1, 2, 3, 4]) y = np.array([1, 4, 9, 16]) plt.title("RUNOOB grid() Test") plt.xlabel("x - label") plt.ylabel("y - label") plt.plot(x, y) plt.grid(color='r', linestyle='--', linewidth=0.5) plt.show()

效果:红色破折线网格,线宽 0.5。

五、常用样式组合速查
需求写法
默认网格plt.grid()
只显示竖线plt.grid(axis='x')
只显示横线plt.grid(axis='y')
红色虚线网格plt.grid(color='r', linestyle='--')
灰色细线网格plt.grid(color='gray', linestyle=':', linewidth=0.5)
黑色实线网格plt.grid(color='k', linestyle='-', linewidth=1)
半透明网格plt.grid(alpha=0.3)
关闭网格plt.grid(False)

推荐:网格线宜淡不宜浓,alpha=0.3配合灰色是常见搭配,既起辅助作用又不喧宾夺主。

六、完整示例:规范的中文图表

python

import numpy as np import matplotlib.pyplot as plt # 中文配置 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 数据 x = np.linspace(0, 10, 100) y = np.sin(x) # 绘图 plt.plot(x, y, 'b-', lw=2, label='sin(x)') # 标题与标签 plt.title("正弦函数图像", fontsize=16) plt.xlabel("x 轴(弧度)", fontsize=12) plt.ylabel("y 轴", fontsize=12) # 网格线:灰色虚线,半透明 plt.grid(color='gray', linestyle='--', linewidth=0.5, alpha=0.5) # 图例 plt.legend() plt.show()

效果:网格线辅助读数,但不干扰主体曲线,整体专业清爽。

七、网格线配置流程图
八、常见问题排查
问题现象可能原因解决方案
网格线不显示未调用grid()或被后续设置覆盖确认调用了plt.grid()
网格线太浓未设置透明度或颜色过深设置alpha=0.3或浅色
axis方向搞反对轴的方向理解有误记住 axis 指定刻度所在轴
网格线遮挡数据绘制顺序问题网格线通常在数据之下,检查 zorder
次刻度网格不显示which参数未设置使用which='both'
样式参数无效参数名拼写错误检查linestyle、linewidth拼写
九、小结

本篇你掌握了 Matplotlib 网格线的完整用法:

  • grid() 方法:b、which、axis三大参数控制显示。

  • 方向控制:axis='x'显示竖线,axis='y'显示横线,'both'双方向。

  • 样式定制:color颜色、linestyle线型、linewidth宽度。

  • 实用技巧:网格线宜淡不宜浓,alpha控制透明度。

网格线是提升图表可读性的细节之一。下一篇我们将学习Matplotlib 散点图,用点来展示数据之间的关系。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询