matplotlib之pyplot模块之网格线设置(grid():设置网格线外观)
grid()
函数概述
grid()
函数用于设置绘图区网格线。
grid()
的函数签名为matplotlib.pyplot.grid(b=None, which='major', axis='both', **kwargs)
。
grid()
的参数如下:
b
:是否显示网格线。布尔值或None
,可选参数。如果没有关键字参数,则b
为True
,如果b
为None
且没有关键字参数,相当于切换网格线的可见性。which
:网格线显示的尺度。字符串,可选参数,取值范围为{'major', 'minor', 'both'}
,默认为'major'
。'major'
为主刻度、'minor'
为次刻度。axis
:选择网格线显示的轴。字符串,可选参数,取值范围为{'both', 'x', 'y'},默认为
’both’`。**kwargs
:Line2D
线条对象属性。
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)
xaxis
为XAxis
类的实例,yaxis
为YAxis
类的实例,XAxis
和YAxis
类的基类为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():设置网格线外观)相关推荐
- matplotlib之pyplot模块plot函数基础二(线条外观:格式字符串fmt)
matplotlib之pyplot模块plot函数基础一(函数功能.xy参数基本取值,多组数据)简单说明了plot函数绘制线条的基本功能. plot函数的基本调用签名为plot([x], y, [fm ...
- matplotlib之pyplot模块——饼图(pie():圆环图(donut)、二层圆环图、三层圆环图(旭日图))
在matplotlib中pie()不单可以绘制饼图,还可以绘制圆环图(donut).圆环图可以看成饼图的变种,matplotlib没有提供专门绘制圆环图的接口. 在matplotlib之pyplot模 ...
- pyplot绘制图片_使用matplotlib的pyplot模块绘图的实现示例
1. 绘制简单图形 使用 matplotlib 的pyplot模块绘制图形.看一个 绘制sin函数曲线的例子. import matplotlib.pyplot as plt import numpy ...
- matplotlib之pyplot模块——获取/设置对象属性值(setp()、getp/get())
当前有效matplotlib版本为:3.4.1. 概述 pyplot模块提供了获取/设置对象属性值的接口.功能类似于Python内置函数getattr和setattr.从源码上来看,get()是get ...
- matplotlib之pyplot模块坐标轴标签设置(xlabel()、ylabel())
在pyplot模块中可以使用xlabel()和ylabel()函数设置x轴y轴的标签.这两个函数的使用方法非常相似. 使用xlabel()设置x轴标签 函数签名为matplotlib.pyplot.x ...
- matplotlib之pyplot模块——调整子图布局(subplots_adjust、tight_layout)
在pyplot模块中,与调整子图布局的函数主要为subplots_adjust和tight_layout,其中subplots_adjust是修改子图间距的通用函数,tight_layout默认执行一 ...
- matplotlib之pyplot模块——设置坐标轴缩放类型(xscale、yscale)
概述 xscale和yscale函数的作用都是设置坐标轴的缩放类型.其中 xscale函数作用是设置x轴的缩放类型. yscale函数作用是设置y轴的缩放类型. 两者参数相同,仅功能稍有不同. xsc ...
- matplotlib之pyplot模块——获取或设置坐标轴刻度及标签(xticks、yticks)
概述 xticks和yticks函数的作用都是获取或设置坐标轴的刻度及标签.其中 xticks函数作用是获取或设置x坐标轴的刻度及标签. yticks函数作用是获取或设置y坐标轴的刻度及标签. 两者参 ...
- matplotlib之pyplot模块之坐标轴配置(axis():设置坐标轴外观、设置坐标轴范围)
axis()函数概述 axis()函数是一个坐标轴配置的方便接口. axis()的函数签名为matplotlib.pyplot.axis(*args, emit=True, **kwargs). ax ...
- matplotlib之pyplot模块——清除子图、清除图形、删除子图、设置当前子图(cla()、clf()、delaxes()、sca())
当前有效matplotlib版本为:3.4.1. cla函数 cla函数的作用是清空当前子图(相当于将当前子图格式化为默认空子图,子图本身并没有被删除). 函数的定义签名为matplotlib.pyp ...
最新文章
- DllMain中不当操作导致死锁问题的分析--加载卸载DLL与DllMain死锁的关系
- 一步步创建Qt Widget项目+TextFinder案例(摘自笔者2015年将出的《QT5权威指南》,本文为试读篇)
- 往Cloud Foundry上部署应用背后的技术实现
- rhq监控软件_RHQ指标的WildFly子系统
- java 对话框 显示图片_Java对话框上显示图片
- iBatis 事务控制 与 两表操作将SQL语句写入单表
- vs2017 cmake android,CMake构建VS2017工程
- HTML5手机重力与方向感应的应用——摇一摇效果
- 纯手工打造简单分布式爬虫(Python)
- 顺利通过EMC实验(9)
- javascript回调函数及推论
- 【EASYDOM系列教程】之属性操作
- JS 使用DES加密解密
- html特殊符号拉丁文,拉丁文字符号大全,罗马字母
- java工具类解压缩zip和rar
- html5 css3学习资料、教程、实例收集
- 自己写的年会抽奖软件免费版带后门作弊,共享出来给大家(更新至V1.3)——转自哈尔滨健康生活网
- win10系统更新之后经常蓝屏解决方法分享
- MATLAB 各类二维渐变图
- OPENMV上的目标检测,目标定位模型
热门文章
- 华为升级鸿蒙系统教程,华为升级鸿蒙系统方法汇总 华为手机各型号升级鸿蒙系统教程...
- 零基础小白如何转行数据分析
- C# 中的Finalize 和Dispose(bool disposing)和 Dispose()
- html如何设置自动点击事件,html 如何设置打开网页时自动触发按钮的单击事件
- STM32中GPIO工作原理详解
- 2021最新软件测试面试题(含答案)
- STM32硬件编程_学习思路
- excel把多个工作表合并
- 效率直接起飞的PPT技巧,你知道吗
- JavaScript梗图详解