:网格线详解——grid() 方法与样式定制)
一、什么是网格线我们可以使用 pyplot 中的grid()方法来设置图表中的网格线。网格线的作用作用说明辅助读数帮助读者估算数据点的值对齐参考方便比较不同曲线的位置视觉分区让图表结构更清晰基本语法pythonmatplotlib.pyplot.grid(bNone, whichmajor, axisboth, **kwargs)二、grid() 参数详解1. 参数说明参数可选值默认值说明bTrue/False/NoneNone是否显示网格线whichmajor/minor/bothmajor应用更改的网格线类型axisboth/x/yboth显示哪个方向的网格线**kwargs样式参数—颜色、线型、宽度等关于 b 参数bNone切换网格线状态当前开则关当前关则开。bTrue显示网格线。bFalse不显示网格线。如果设置了**kwargs参数则b默认为True。关于 which 参数值说明major主刻度网格线默认minor次刻度网格线both主次刻度都显示2. 最简单的网格线参数使用默认值pythonimport 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 轴方向的网格线pythonimport 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(axisx) # 只在 x 轴方向显示网格线 plt.show()效果只显示垂直于 x 轴的竖线。提示axisx显示的是垂直于 x 轴的线即竖线axisy显示的是垂直于 y 轴的线即横线。这个方向容易混淆记忆方法是axis 指定的是刻度所在的轴。四、定制网格线样式网格线的样式通过**kwargs参数设置格式如下pythongrid(colorcolor, linestylelinestyle, linewidthnumber)1. 颜色color颜色标记描述b蓝色m洋红色g绿色y黄色r红色k黑色w白色c青绿色#008000RGB 颜色字符串2. 线型linestyle线型标记描述-实线--破折线-.点划线:虚线3. 宽度linewidth设置线的宽度可以设置一个数字。4. 样式定制实例pythonimport 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(colorr, linestyle--, linewidth0.5) plt.show()效果红色破折线网格线宽 0.5。五、常用样式组合速查需求写法默认网格plt.grid()只显示竖线plt.grid(axisx)只显示横线plt.grid(axisy)红色虚线网格plt.grid(colorr, linestyle--)灰色细线网格plt.grid(colorgray, linestyle:, linewidth0.5)黑色实线网格plt.grid(colork, linestyle-, linewidth1)半透明网格plt.grid(alpha0.3)关闭网格plt.grid(False)推荐网格线宜淡不宜浓alpha0.3配合灰色是常见搭配既起辅助作用又不喧宾夺主。六、完整示例规范的中文图表pythonimport 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-, lw2, labelsin(x)) # 标题与标签 plt.title(正弦函数图像, fontsize16) plt.xlabel(x 轴弧度, fontsize12) plt.ylabel(y 轴, fontsize12) # 网格线灰色虚线半透明 plt.grid(colorgray, linestyle--, linewidth0.5, alpha0.5) # 图例 plt.legend() plt.show()效果网格线辅助读数但不干扰主体曲线整体专业清爽。七、网格线配置流程图八、常见问题排查问题现象可能原因解决方案网格线不显示未调用grid()或被后续设置覆盖确认调用了plt.grid()网格线太浓未设置透明度或颜色过深设置alpha0.3或浅色axis方向搞反对轴的方向理解有误记住 axis 指定刻度所在轴网格线遮挡数据绘制顺序问题网格线通常在数据之下检查 zorder次刻度网格不显示which参数未设置使用whichboth样式参数无效参数名拼写错误检查linestyle、linewidth拼写九、小结本篇你掌握了 Matplotlib 网格线的完整用法grid() 方法b、which、axis三大参数控制显示。方向控制axisx显示竖线axisy显示横线both双方向。样式定制color颜色、linestyle线型、linewidth宽度。实用技巧网格线宜淡不宜浓alpha控制透明度。网格线是提升图表可读性的细节之一。下一篇我们将学习Matplotlib 散点图用点来展示数据之间的关系。