grid()函数概述

grid()函数用于设置绘图区网格线。
grid()的函数签名为matplotlib.pyplot.grid(b=None, which='major', axis='both', **kwargs)
grid()的参数如下:

  • b:是否显示网格线。布尔值或None,可选参数。如果没有关键字参数,则bTrue,如果bNone且没有关键字参数,相当于切换网格线的可见性。
  • which:网格线显示的尺度。字符串,可选参数,取值范围为{'major', 'minor', 'both'},默认为'major''major'为主刻度、'minor'为次刻度。
  • axis:选择网格线显示的轴。字符串,可选参数,取值范围为{'both', 'x', 'y'},默认为’both’`。
  • **kwargsLine2D线条对象属性。

grid()的返回值为None

grid()函数演示

import matplotlib.pyplot as pltplt.subplot(341)
# grid()默认样式
plt.plot([1, 1])
plt.grid()
plt.annotate('grid()', (0, 1))
plt.subplot(342)
# 因为默认没有网格线,所以grid(None)显示网格线
plt.plot([1, 1])
plt.grid(None)
plt.annotate('grid(None)', (0, 1))
plt.subplot(343)
# 因为设置了网格线,所以grid(None)切换为不显示网格线
plt.plot([1, 1])
plt.grid(True)
plt.grid(None)
plt.annotate('grid(None)', (0, 1))
plt.subplot(344)
# 因为默认没有网格线
plt.plot([1, 1])
plt.annotate("default", (0, 1))
plt.subplot(345)
# 只显示主刻度网格线
plt.plot([1, 1])
plt.grid(which='major')
plt.annotate("which='major'", (0, 1))
plt.subplot(346)
# 只显示次刻度网格线,因为没有次刻度,所以无网格线
plt.plot([1, 1])
plt.grid(which='minor')
plt.annotate("which='minor'", (0, 1))
plt.subplot(347)
# 同时显示主刻度、次刻度网格线
plt.plot([1, 1])
plt.grid(which='both')
plt.annotate("which='both'", (0, 1))
plt.subplot(348)
plt.plot([1, 1])
# 默认同时显示主刻度、次刻度网格线
plt.grid()
plt.annotate("default", (0, 1))
plt.subplot(349)
# 只显示x轴网格线
plt.plot([1, 1])
plt.grid(axis='x')
plt.annotate("axis='x'", (0, 1))
plt.subplot(3,4,10)
# 只显示y轴网格线
plt.plot([1, 1])
plt.grid(axis='y')
plt.annotate("axis='y'", (0, 1))
plt.subplot(3,4,11)
# 同时显示xy轴网格线
plt.plot([1, 1])
plt.grid(axis='both')
plt.annotate("axis='both'", (0, 1))
plt.subplot(3,4,12)
# 默认显示xy轴网格线
plt.plot([1, 1])
plt.grid()
plt.annotate("default", (0, 1))
plt.show()

原理

pyplot.grid()其实调用的是gca().grid(),即Aexs.grid()

底层相关函数有:
Axis.grid()

Axes.grid()源码(matplotlib/Axes/_base.py

def grid(self, b=None, which='major', axis='both', **kwargs):cbook._check_in_list(['x', 'y', 'both'], axis=axis)if axis in ['x', 'both']:self.xaxis.grid(b, which=which, **kwargs)if axis in ['y', 'both']:self.yaxis.grid(b, which=which, **kwargs)

xaxisXAxis类的实例,yaxisYAxis类的实例,XAxisYAxis类的基类为Axis

Axis.grid()源码(matplotlib/axis.py

def grid(self, b=None, which='major', **kwargs):if b is not None:if 'visible' in kwargs and bool(b) != bool(kwargs['visible']):raise ValueError("'b' and 'visible' specify inconsistent grid visibilities")if kwargs and not b:  # something false-like but not Nonecbook._warn_external('First parameter to grid() is false, ''but line properties are supplied. The ''grid will be enabled.')b = Truewhich = which.lower()cbook._check_in_list(['major', 'minor', 'both'], which=which)gridkw = {'grid_' + item[0]: item[1] for item in kwargs.items()}if 'grid_visible' in gridkw:forced_visibility = Truegridkw['gridOn'] = gridkw.pop('grid_visible')else:forced_visibility = Falseif which in ['minor', 'both']:if b is None and not forced_visibility:gridkw['gridOn'] = not self._minor_tick_kw['gridOn']elif b is not None:gridkw['gridOn'] = bself.set_tick_params(which='minor', **gridkw)if which in ['major', 'both']:if b is None and not forced_visibility:gridkw['gridOn'] = not self._major_tick_kw['gridOn']elif b is not None:gridkw['gridOn'] = bself.set_tick_params(which='major', **gridkw)self.stale = True

matplotlib之pyplot模块之网格线设置(grid():设置网格线外观)相关推荐

  1. matplotlib之pyplot模块plot函数基础二(线条外观:格式字符串fmt)

    matplotlib之pyplot模块plot函数基础一(函数功能.xy参数基本取值,多组数据)简单说明了plot函数绘制线条的基本功能. plot函数的基本调用签名为plot([x], y, [fm ...

  2. matplotlib之pyplot模块——饼图(pie():圆环图(donut)、二层圆环图、三层圆环图(旭日图))

    在matplotlib中pie()不单可以绘制饼图,还可以绘制圆环图(donut).圆环图可以看成饼图的变种,matplotlib没有提供专门绘制圆环图的接口. 在matplotlib之pyplot模 ...

  3. pyplot绘制图片_使用matplotlib的pyplot模块绘图的实现示例

    1. 绘制简单图形 使用 matplotlib 的pyplot模块绘制图形.看一个 绘制sin函数曲线的例子. import matplotlib.pyplot as plt import numpy ...

  4. matplotlib之pyplot模块——获取/设置对象属性值(setp()、getp/get())

    当前有效matplotlib版本为:3.4.1. 概述 pyplot模块提供了获取/设置对象属性值的接口.功能类似于Python内置函数getattr和setattr.从源码上来看,get()是get ...

  5. matplotlib之pyplot模块坐标轴标签设置(xlabel()、ylabel())

    在pyplot模块中可以使用xlabel()和ylabel()函数设置x轴y轴的标签.这两个函数的使用方法非常相似. 使用xlabel()设置x轴标签 函数签名为matplotlib.pyplot.x ...

  6. matplotlib之pyplot模块——调整子图布局(subplots_adjust、tight_layout)

    在pyplot模块中,与调整子图布局的函数主要为subplots_adjust和tight_layout,其中subplots_adjust是修改子图间距的通用函数,tight_layout默认执行一 ...

  7. matplotlib之pyplot模块——设置坐标轴缩放类型(xscale、yscale)

    概述 xscale和yscale函数的作用都是设置坐标轴的缩放类型.其中 xscale函数作用是设置x轴的缩放类型. yscale函数作用是设置y轴的缩放类型. 两者参数相同,仅功能稍有不同. xsc ...

  8. matplotlib之pyplot模块——获取或设置坐标轴刻度及标签(xticks、yticks)

    概述 xticks和yticks函数的作用都是获取或设置坐标轴的刻度及标签.其中 xticks函数作用是获取或设置x坐标轴的刻度及标签. yticks函数作用是获取或设置y坐标轴的刻度及标签. 两者参 ...

  9. matplotlib之pyplot模块之坐标轴配置(axis():设置坐标轴外观、设置坐标轴范围)

    axis()函数概述 axis()函数是一个坐标轴配置的方便接口. axis()的函数签名为matplotlib.pyplot.axis(*args, emit=True, **kwargs). ax ...

  10. matplotlib之pyplot模块——清除子图、清除图形、删除子图、设置当前子图(cla()、clf()、delaxes()、sca())

    当前有效matplotlib版本为:3.4.1. cla函数 cla函数的作用是清空当前子图(相当于将当前子图格式化为默认空子图,子图本身并没有被删除). 函数的定义签名为matplotlib.pyp ...

最新文章

  1. DllMain中不当操作导致死锁问题的分析--加载卸载DLL与DllMain死锁的关系
  2. 一步步创建Qt Widget项目+TextFinder案例(摘自笔者2015年将出的《QT5权威指南》,本文为试读篇)
  3. 往Cloud Foundry上部署应用背后的技术实现
  4. rhq监控软件_RHQ指标的WildFly子系统
  5. java 对话框 显示图片_Java对话框上显示图片
  6. iBatis 事务控制 与 两表操作将SQL语句写入单表
  7. vs2017 cmake android,CMake构建VS2017工程
  8. HTML5手机重力与方向感应的应用——摇一摇效果
  9. 纯手工打造简单分布式爬虫(Python)
  10. 顺利通过EMC实验(9)
  11. javascript回调函数及推论
  12. 【EASYDOM系列教程】之属性操作
  13. JS 使用DES加密解密
  14. html特殊符号拉丁文,拉丁文字符号大全,罗马字母
  15. java工具类解压缩zip和rar
  16. html5 css3学习资料、教程、实例收集
  17. 自己写的年会抽奖软件免费版带后门作弊,共享出来给大家(更新至V1.3)——转自哈尔滨健康生活网
  18. win10系统更新之后经常蓝屏解决方法分享
  19. MATLAB 各类二维渐变图
  20. OPENMV上的目标检测,目标定位模型

热门文章

  1. 华为升级鸿蒙系统教程,华为升级鸿蒙系统方法汇总 华为手机各型号升级鸿蒙系统教程...
  2. 零基础小白如何转行数据分析
  3. C# 中的Finalize 和Dispose(bool disposing)和 Dispose()
  4. html如何设置自动点击事件,html 如何设置打开网页时自动触发按钮的单击事件
  5. STM32中GPIO工作原理详解
  6. 2021最新软件测试面试题(含答案)
  7. STM32硬件编程_学习思路
  8. excel把多个工作表合并
  9. 效率直接起飞的PPT技巧,你知道吗
  10. JavaScript梗图详解