matplotlib之pyplot模块——显示/关闭子图边框(轴脊)(box())

Python数据可视化(坐标轴的定制与3D绘图) 1 隐藏轴脊 import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as mpathes polygon = mpathes.RegularPolygon((0.5, 0.5), 6, 0.2, color=‘g’) ax = plt.axes((0.3, 0.3, 0.5, 0.5)) ax.add_patch(polygon) #隐藏全部轴脊 ax.axis(‘off’) plt.show() 2 隐藏 阅读详情
AI摘要

本文介绍Matplotlib中box()函数的使用方法,该函数用于控制图表边框的显示与隐藏。文章详细解释了box()函数的工作原理,并展示了如何通过Spine对象更精细地控制每个轴脊的状态。

当前有效matplotlib版本为:3.4.2。

box()函数概述

box()函数的功能为关闭或显示当前子图的所有边框。边框也被称为box、frame或spines,它由上下左右四条轴脊(spine)构成。

box()函数的签名为matplotlib.pyplot.box(on=None)。

其中on参数的取值为布尔值或None,当取值为True当前子图显示边框,取值为False当前子图关闭边框,取值为None时切换显示、关闭状态。

box()函数原理

根据box()函数源码可知,其工作原理与matplotlib.axes.Axes.set_frame_on()相关,根据Axes对象源码观察可知,关闭的边框与Axes.spines对象有关。

matplotlib.pyplot.box()源码:

def box(on=None):
    ax = gca()
    if on is None:
        on = not ax.get_frame_on()
    ax.set_frame_on(on)

matplotlib.axes.Axes.set_frame_on()源码:

def get_frame_on(self):
    return self._frameon

def set_frame_on(self, b):
    self._frameon = b
    self.stale = True

matplotlib.axes.Axes相关源码:

if not (self.axison and self._frameon):
    for spine in self.spines.values():
        artists.remove(spine)
        
if self.axison and self._frameon:
    self.patch.draw(renderer)

Axes.spines对象

matplotlib.spines.Spine类定义了轴脊。matplotlib.spines.Spines类则是子图中所有matplotlib.spines.Spine对象的容器。

在子图中Axes.spines即matplotlib.spines.Spines类的实例。

Axes.spines提供了类似字典或pandas.DataFrame的接口来访问Spine对象,每个Spine对象可独立控制轴脊的行为,通过Spine对象的set_visible(False)和set_color('none')方法可关闭轴脊。

根据Axes.spines.keys()可知,对应的4个轴脊的键为['left', 'right', 'bottom', 'top']。

Axes.spines访问Spine对象的接口示例如下:

spines['top'].set_visible(False)
spines.top.set_visible(False)
spines[['top', 'right']].set_visible(False)
spines[:].set_visible(False)

案例:演示关闭子图边框

在这里插入图片描述

import matplotlib.pyplot as plt

# 默认子图边框样式
plt.subplot(231)
# 关闭当前子图边框
plt.subplot(232)
plt.box()
# 利用ax.set_frame_on关闭边框
plt.subplot(233)
ax = plt.gca()
ax.set_frame_on(False)
# 演示利用spine对象关闭轴脊
plt.subplot(234)
ax = plt.gca()
ax.spines.right.set_color('none')
ax.spines['top'].set_visible(False)
# 利用spines对象索引spine对象的方法
plt.subplot(235)
ax = plt.gca()
ax.spines[['top','left','right']].set_visible(False)
# 去掉y轴刻度
plt.yticks([])
# 利用spines对象索引spine对象的方法
plt.subplot(236)
ax = plt.gca()
ax.spines[:].set_visible(False)

plt.show()
python之Matplotlib.pyplot 最近将windows系统删除了,没有matlab,所以考虑使用python在mac os直接实现数据处理及画图功能。主要使用numpy和matplotlib来实现matlab的功能,numpy可以进行矩阵的处理,而matplotlib.pyplot用来实现图形化功能。 matplotlib参考文档地址 http://matplotlib.org/ 安装方式: python3 阅读详情

相关推荐

matplotlib绘图实例:pyplot、pylab模块及作图参

Matplotlib.pyplot绘图实例{使用pyplot模块}matplotlib绘制直线、条形/矩形区域import numpy as np import matplotlib.pyplot as plt t = np.arange(-1, 2, .01) s = np.sin(2 * np.pi * t) plt.plot(t,s) # draw a thick red hline at...

王冠hurt的博客 1494

matplotlib隐藏边框的方法

matplotlib隐藏边框的方法。

pengch987的专栏 2428

Python:Matplotlib库的使用

为了正确显示中文字体,请用以下代码更改默认设置,其中’SimHei’表示黑体字。常见字体名称的中英文对照字体英文表示字体名称SimSun宋体SimHei黑体KaiTi楷体微软雅黑LiSu隶书FangSong仿宋YouYuan幼圆STSong华文宋体STHeiti华文黑体苹果丽中黑matplotlib库由一系列有组织有隶属关系的对象构成,这对于基础绘图操作来说显得过于复杂。因此,matplotib提供了一套快捷命令式的绘图接口函数,即pyplot子模块。

衍生星球的博客 1万+

python画图 matplotlib去掉边框

去掉上面和右边的边框,只需要在plot前加上这三行代码: from matplotlib import pyplot as plt fig, ax = plt.subplots() ax.spines['right'].set_visible(False) ax.spines['top'].set_visible(False) plt.scatter(...) 参考:plot - 在matplotlib中,如何只显示左边框和下框边框? ...

Caiqiudan的博客 5万+

QT播放器插件内嵌浏览器配合流媒体实现国标摄像头网页端播放

基本原理在浏览器⽹页中的指定播放窗口的位置和⼤⼩,实现⼀个内嵌到⽹页中显⽰的播放窗⼝,前端还必须可对这个内嵌播放窗⼝进⾏控制,⽽且播放窗⼝必须跟随浏览器窗⼝的移动和缩放、⽹页滚动、标签页切换、关闭等操作进⾏⾃动联动。播放器可以通过QT实现。这个播放窗⼝同时提供Web Socket的服务端和JSON打包命令的解析执⾏模块,前端就可以通过Web Socket连接后发送JSON打包的控制命令实现控制播放窗⼝。

cameravision的博客 562

代码实现 —— 基于 STM32 的可见光通信系统课程设计

基于STM32F103ZET6,源码如需移植,需要修改定时器捕获通道引脚,及定时器,如果你也有这个课设任务,希望对你有所帮助。

不善挽留 1万+

python画图去掉边框

ax=plt.subplot(2,3,1) ... ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.spines['left'].set_visible(False)

Mr.horse的博客 1万+

FreeCAD源码分析:Sketcher模块

Sketcher模块基于Part模块功能实现了特征编辑(Feature Editing)建模的功能。这类参数化建模系统主要包括几何表示、约束求解器等两大组成部分。

国产CAx(CAD/CAE/CAM)软件研发 6524

matplotlib画图去除tick(刻度)和spine(图的边框)

import matplotlib.pyplot as plt import numpy as np colors = [ 'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w' ] fig, axs = plt.subplots(2,4) for ax,c in zip(axs.flat,colors): ax.plot([1,2,3],[4,5,6],color=c) # for ax in axs.flat: # ax.set_axis_off()

雨化于画 2475

《无线传感网络 matlab》:从入门到实践

这就是如何使用Matlab建立一个简单的无线传感网络并进行仿真的方法。当然,这只是一个入门级的示例,真正的无线传感网络可能会更加复杂和庞大。首先,我们需要创建一个无线传感网络的基础结构。接下来,我们需要定义一个数据包的格式,以便节点之间可以交换信息。无线传感网络是一种由无线传感器节点组成的、自组织的网络。现在,我们可以开始编写节点代码了。我们将使用Matlab提供的工具箱来构建一个简单的无线传感网络,并对其进行仿真和分析。现在,我们可以将这个节点复制9次,以创建一个包含10个节点的无线传感网络。

NoerrorCode的博客 296

大模型新闻摘要生成质量评估工具

大模型新闻摘要生成质量评估工具 关键词:大模型、新闻摘要、质量评估、自然语言处理、算法 摘要:本文将探讨大模型新闻摘要生成质量评估工具的设计与应用。首先介绍大模型新闻摘要生成的背景和问题,然后深入分析质量评估的难点和重要性,接着介绍大模型的

AI天才研究院 828

【matplotlib绘图】matplotlib.pyplot与axes的关系

最近在学习数据可视化,梳理一下其中一些诸如pandas绘图、matplotlib绘图、pyplot(plt)、axes等概念。 重要的事情说三遍:axes不是axis!axes不是axis!axes不是axis! 重要的事情说三遍:pyplot是接口不是对象!pyplot是接口不是对象!pyplot是接口不是对象!

Room221技术笔记 8696

Cartographer实现双雷达建图

TRAJECTORY_BUILDER_2D.num_accumulated_range_data = 2 --执行一次前端匹配需要的激光扫描分段数量。关于num_subdivisions_per_laser_scan。num_laser_scans =2,--订阅激光扫描话题数量。Frame改为 前雷达laser_1 后雷达laser_2。雷达的话题由scan改为,前scan_1 后scan_2。有些人说需要改成2,但我这里改成2反而不行,1才可以。

Studying…… 1261

matplotlib.pyplot 所有方法目录

matplotlib.pyplot 所有方法目录 关于pyplot, 基本20%的函数就完成80%的应用了 , 本文翻译了官方文档的pyplot1方法表格。看看pyplot还能做哪些事,大概了解还有哪些功能 。

二郎银的博客 4050

FortiWeb 相对路径遍历漏洞复现(CVE-2025-64446)

FortiWeb是Fortinet公司推出的企业级Web应用防火墙(WAF),专为保护Web应用和API抵御高级威胁设计。它集成人工智能与机器学习技术,通过双层检测引擎(HMM模型与SVM向量机)精准识别异常流量,可防御OWASP Top 10攻击、SQL 注入、XSS、DDoS及恶意机器人。其核心功能包括API自动化保护、虚拟补丁集成(兼容Acunetix等第三方扫描工具)及智能流量分析,支持HTTP/2、WebSocket等现代协议。(CVE-2025-64446)

iSee857的博客 467

MinerU 系列教程 | 第二课:快速上手 -- 安装与第一次解析

本篇教程作为的第二课,将带你从零完成 MinerU 的环境搭建、模型下载,并成功运行第一次文档解析。上一课我们从宏观视角认识了 MinerU,本课开始正式动手实践。

weixin_43674738的博客 302

matplotlib之pyplot教程

文章目录1. pyplot介绍2. 使用关键字字符串绘图3. 使用分类变量绘图4. 线条属性控制5. 使用多个图形和坐标轴6. 图中添加文本使用数学表达式使用注释文本7. 对数轴和其他非线性轴8. 总结9. 参考文献 对matplotlib包中的pyplot模块的介绍。主要是对matplotlib官方文档的转译。 1. pyplot介绍 matplotlib.pyplot是使matplotlib像...

besmarterbestronger的博客 1353

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Matplotlib 中文用户指南 3.1 pyplot 教程

3.1 pyplot 教程 原文:Pyplot tutorial 译者:飞龙 协议:CC BY-NC-SA 4.0 matplotlib.pyplot是一个命令风格函数的集合,使matplotlib的机制更像 MATLAB。 每个绘图函数对图像进行一些更改:例如,创建图像,在图像中创建绘图区域,在绘图区域绘制一些线条,使用标签装饰绘图等。在matplotlib.pyplot中

龙哥盟 8万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

当前有效matplotlib版本为:3.4.1。 概述 pyplot模块提供了获取/设置对象属性值的接口。功能类似于Python内置函数getattr和setattr。从源码上来看,get()是getp()的别名,两者是等价的。setp()、getp()的底层实现是基于Python内置函数getattr和setattr。 getp()函数:获取对象属性 getp()函数的签名为matplotlib.pyplot.getp(obj, *args, **kwargs)。 常用参数为: obj :需要查询属性的

mighty13的专栏 3万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

matplotlib.pyplot库解析

plt的绘图区域函数: 1)plt.figure(figsize=None,g=facecolor=None) 创建一个全局绘图区域 import matplotlib.pyplot as plt plt.figure(figsize=(8,4)) plt.show() 2)plt.axes(rect,axisbg=’w’)创建一个坐标系风格的子绘图区域。默认创建一个subplot...

zhenaoxi1077的博客 6537

python用matplotlib画雷达图_matplotlib的基本使用、绘制雷达图及绘制数学函数

一、matplotlib的介绍1、matplotlib是提供数据绘图功能的第三方库,其pyplot子库主要用于实现各种数据展示图形的绘制。2、pyplot子库的引用方式如下:import matplotlib.pyplot as plt3、为了正确显示中文字体,请用一下代码更改默认设置,其中“SimHei”表示黑体字>>>import matplotlib>>>matplotlib.rcParam...

weixin_39686353的博客 1176

matplotlib.pyplot.axis()与matplotlib.pyplot.axes()结构及用法

matplotlib.pyplot.axis() 官方文档 matplotlib.pyplot.axis(*v, **kwargs) 获得或设定axis内容的便利方法。 常用参数: xmin, ymin, xmax, ymax : float, optional The axis limits to be set. Either none or all of the limits mus...

漫步量化 9011

matplotlib.pyplot.xlim()、ylim()、axis()结构及用法||参数详解

matplotlib.pyplot.xlim() 官方文档 matplotlib.pyplot.xlim(*args, **kwargs) 获取或者是设定x座标轴的范围,当前axes上的座标轴。 有两种参数输入方式 plt.xlim(num1, num2) plt.xlim(xmin=num1,xmax=num2) matplotlib.pyplot.ylim...

漫步量化 9万+

python pyplot 宽高等比_python – 更改matplotlib中子图的宽高比

简答你可能想打电话:ax.imshow(..., aspect='auto')默认情况下,imshow会在调用轴时将轴的纵横比设置为1.这将覆盖您在创建轴时指定的任何方面.但是,这是matplotlib中常见的混淆源.让我备份并详细解释正在发生的事情.Matplotlib的布局模型matplotlib中的aspect是指数据坐标中xscale和yscale的比率.它不直接控制轴的宽度和高度的比率....

weixin_39812142的博客 3188

Matplotlib精品学习笔记002-Pyplot详解,快速绘图

matplotlib.pyplot集合了一系列功能,运行起来和MATLAB相似。

whitedrogen的博客 2567

Matplotlib子图实战:从基础布局到复杂仪表板构建

在数据可视化领域,多图对比与信息整合是呈现复杂分析结果的核心需求。Matplotlib作为Python生态中最基础且强大的绘图库,其子图(Subplot)功能通过在一个画布上规划多个坐标轴区域,解决了多图表布局、样式统一与协同联动的工程难题。从基础的`plt.subplots`网格布局,到利用`GridSpec`实现跨行跨列的复杂排版,再到共享坐标轴与创建双Y轴以实现多维度数据对比,子图系统为构建信息密度高的综合可视化看板提供了底层支持。这些技术尤其适用于数据分析报告、学术研究图表以及**商业仪表板(Das

weixin_33863087的博客 373
上一篇: matplotlib之pyplot模块——图形的显示、关闭、重绘(show()、close()、draw())
下一篇: matplotlib之pyplot模块——添加次坐标轴(第二坐标轴)(twinx())
mighty13
博客等级 码龄23年 728粉丝 438原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值