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

秦时明月6.2魔改版_从零到一部署指南_含安卓客户端配置与GM后台直通 本文提供《秦时明月》6.2魔改版从零开始的完整部署指南。详细讲解CentOS服务器环境准备、服务端文件部署与安装、关键端口开放及进程验证。重点涵盖安卓客户端APK的IP修改与重签名方法,并介绍了GM后台工具的访问与使用,助你快速搭建并管理专属游戏服务器。 阅读详情

当前有效matplotlib版本为:3.4.1。

概述

pyplot模块提供了获取/设置对象属性值的接口。功能类似于Python内置函数getattr和setattr。从源码上来看,get()是getp()的别名,两者是等价的。setp()、getp()的底层实现是基于Python内置函数getattr和setattr。

getp()函数:获取对象属性

getp()函数的签名为matplotlib.pyplot.getp(obj, *args, **kwargs)。
常用参数为:

  • obj :需要查询属性的对象。类型为 Artist对象,即matplotlib所有可见对象。必备参数。
  • property:需要查询的属性。类型为字符串或None, 默认值为 None。
    • 当值为None时,返回对象的所有属性。
    • 当值为某属性名时,则会返回obj.get_属性名()的值。

返回值为查询对象的某个属性或为None,此时打印输出全部属性。

案例:演示getp()函数

import matplotlib.pyplot as plt

# 获得Line2D对象line
line,=plt.plot([2,1])
# 获取line的color属性值
# 通过Python内置函数getattr和_color属性获取
c1=getattr(line,"_color")
# 通过Python内置函数getattr和get_color方法获取
c2=getattr(line,"get_color")()
# 通过getp函数获取
c3=plt.getp(line,"color")
print(c1,c2,c3)
# 输出line对象的所有属性
plt.getp(line)



plt.show()

控制台输出为:

# color属性值
#1f77b4 #1f77b4 #1f77b4
# line对象所有属性列表
    agg_filter = None
    alpha = None
    animated = False
    antialiased or aa = True
    children = []
    clip_box = TransformedBbox(     Bbox(x0=0.0, y0=0.0, x1=1.0, ...
    clip_on = True
    clip_path = None
    color or c = #1f77b4
......

在这里插入图片描述

setp()函数:设置对象属性或属性的取值要求

setp()函数的签名为matplotlib.pyplot.setp(obj, *args, **kwargs)。
常用参数为:

  • obj :需要设置属性的对象或对象列表。类型为 Artist对象或 Artist对象列表,即matplotlib所有可见对象。必备参数。
  • file :当查询属性取值要求时输出文件的位置。类文件对象。默认值为 sys.stdout。
  • *args、**kwargs:需要设置的属性值。

setp()函数的调用方式有很多种:

  • 设置一个对象的一个属性。

    line, = plot([1, 2, 3])
    setp(line, linestyle='--')
    
  • 设置多个对象的一个属性。

    lines = plot([1, 2, 3],[1, 2, 3],[4, 5, 6],[4, 5, 6])
    setp(lines, linestyle='--')
    
  • 设置一个对象的多个个属性。
    setp(line, linewidth=2, color='r')

  • 输出该属性的取值要求。
    setp(line, 'linestyle')
    输出为: linestyle: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

  • 输出所有可设置的属性及其取值要求。
    setp(line)
    输出为:
    agg_filter: a filter function, ...

  • setp 还支持 MATLAB 式的键值对。
    setp(lines, 'linewidth', 2, 'color', 'r')

案例:演示 setp()函数

import matplotlib.pyplot as plt

line,=plt.plot([2,1])
# 利用键值对设置属性
plt.setp(line,color='b')
# matlab式键值对
plt.setp(line,"color","g")
# 利用内置哈数setattr设置属性值
setattr(line,"_color",'red')
# 将color属性取值要求输出到标准输出
plt.setp(line,"color")
# 将line对象所有属性取值要求输出到标准输出
plt.setp(line)
# 设置多个对象的属性
lines = plt.plot([1, 2, 3],[1, 2, 3],[4, 5, 6],[4, 5, 6])
plt.setp(lines, linestyle='--')
# 将获取到的color属性取值要求输出到setp.log中
with open("setp.log","a+") as f:
    plt.setp(line,"color",file =f)
plt.show()

控制台输出为:

# color属性取值要求
color: color
# 所有属性取值要求
agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha: scalar or None
animated: bool
antialiased or aa: bool
clip_box: `.Bbox`
clip_on: bool
clip_path: Patch or (Path, Transform) or None
color or c: color
contains: unknown
dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'}
dash_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'}
......

在这里插入图片描述

总结

在matplotlib当中,所有可见对象都继承自Artist类,因此,这些对象被称为Artist。

pyplot模块的setp()、getp/get()等函数底层其实都是调用的Artist类的相关方法。

属性操作中属性名称可能是一个令人疑惑的地方。
在matplotlib当中,实际的属性值存储在_开头的属性中,然后对外提供setter 、getter方法调用。

例如Line2D对象,其颜色属性为_color,对外接口为get_color()、set_color()。通过内置函数dir()即可列出对象的属性。

源码

matplotlib.pyplot模块

def getp(obj, *args, **kwargs):
    return matplotlib.artist.getp(obj, *args, **kwargs)

def get(obj, *args, **kwargs):
    return matplotlib.artist.get(obj, *args, **kwargs)

def setp(obj, *args, **kwargs):
    return matplotlib.artist.setp(obj, *args, **kwargs)
    

matplotlib.artist模块

def getp(obj, property=None):
    if property is None:
        insp = ArtistInspector(obj)
        ret = insp.pprint_getters()
        print('\n'.join(ret))
        return
    return getattr(obj, 'get_' + property)()


# alias
get = getp

def setp(obj, *args, file=None, **kwargs):
    if isinstance(obj, Artist):
        objs = [obj]
    else:
        objs = list(cbook.flatten(obj))

    if not objs:
        return

    insp = ArtistInspector(objs[0])

    if not kwargs and len(args) < 2:
        if args:
            print(insp.pprint_setters(prop=args[0]), file=file)
        else:
            print('\n'.join(insp.pprint_setters()), file=file)
        return

    if len(args) % 2:
        raise ValueError('The set args must be string, value pairs')

    # put args into ordereddict to maintain order
    funcvals = OrderedDict((k, v) for k, v in zip(args[::2], args[1::2]))
    ret = [o.update(funcvals) for o in objs] + [o.set(**kwargs) for o in objs]
    return list(cbook.flatten(ret))
【Claude】媒体文件处理错误:PDF 与 Image 过大的检测与预处理方法 bug报错已解决 图片压缩是必须的:原始图片的 base64 会占用大量 TokenPDF 提取文本优于传图片:文本版 PDF 比扫描版更省 Token分块处理大文件:不要一次性处理整个大文件控制分辨率:800x800 通常足够 Claude 分析。 阅读详情

相关推荐

制作一个有趣的涂鸦物联网小项目(涂鸦模组SDK开发 CBU BK7231N WiFi+蓝牙模组 HSV彩色控制)

实现的功能: l APP控制月球灯 l 本地月球灯控制 l APP控制“大白”颜色,实现各种颜色变身 l 门状态传感器状态APP显示 l 网络状态指示灯,连接服务器长亮,断开后闪烁 l 配网按键 l 云端定时功能 l 云端报警提示功能 l 云端历史数据查看 l 远程升级介绍 视频演示:【开源】制作一个有趣的涂鸦物联网小项目(涂鸦模组SDK开发 CBU BK7231N WiFi+蓝牙模组 HSV彩色控制)_哔哩哔哩_bilibili 一、界面展示 ...

东小东博客 7116

setp函数--Matplotlib

函数功能: Set a property on an artist object. 设置元素属性 函数语法: setp(obj, *args, **kwargs) 函数参数: obj: 要设置的对象 matplotlib supports the use of setp() (“set property”) and getp() to set and get object properties, as well as to do introspection on the object. matplotli

chongbaikaishi的博客 9987

Linux安装消息队列IBM MQ 7.5开发版安装配置详解

消息队列IBM MQ 7.5开发版安装配置详解 文章目录消息队列IBM MQ 7.5开发版安装配置详解前言一、什么是IBM MQ?二、安装前准备1、安装前准备2、安装MQ Server3、启动实例4、创建队列一个名为TEXT的队列(测试)5、启动端口监听6、启动成功总结 前言 IBM 已经熟练地优化了 MQ(消息队列),在市场上已有超过 25 年的历史。借助 MQ(消息队列),如果无法立即传递消息,那么会在其等待队列中确保消息安全,直到保证传递为止。竞争产品可能会传递两次消息或根本不传递消息,而 M

zhx__的博客 5165

python画图常规设置

       python绘图的包大家应该不会陌生,但是,对图的常规设置不一定会知道(其实自己也是才知道的),比如:坐标轴的字体大小、颜色设置;标题的字体颜色大小设置;线的粗细、颜色;图片风格的设置等。了解这些常规设置必定会让图片更加美观。 下面就具体来说说matplotlib中有哪些常规设置。 我主要总结了这几个函数: plt.style.use()函数;可以对图片的整体风格进行设置。可以通过plt.style.availabel知道一共有多少种主题。 imp.

qq_41978139的博客 1203

【UOJ170】Picks loves segment tree VIII

【题目链接】 点击打开链接 【前置阅读】 【BZOJ4695】最假女选手 【BZOJ3064】【TYVJ1518】CPU监控【UOJ169】【UR #11】元旦老人与数列 【思路要点】 前置阅读中的前两题中,我们分别对线段树的区间取最大/最小值和线段树的历史最大/最小值进行了研究。本题中,两类问题同时出现,因此我们

cz_xuyixuan的博客 1253

台达PLC DIAdesigner-AX 编程实战:从安装到通信配置

本文详细介绍了台达PLC DIAdesigner-AX编程的实战操作,从软件安装、项目创建到通信配置的全流程。重点讲解了TCP/IP通信设置、库文件管理及常见错误处理,帮助工程师快速掌握台达PLC编程技巧,提升工业自动化项目的开发效率。

weixin_29215391的博客 531

Python数据分析入门(十六):设置可视化图表的信息

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看 https://space.bilibili.com/523606542 Python学习交流群:1039649593 现在我们添加图后,没有指定x轴代表什么,y轴代表什么,以及这个图的标题是什么。因此以下我们通过一些属性来设置一下。 设置线条样式: 使用plot方法:plot方法就是用来绘制线条的,因此可以在绘制的时候就把线条相关的样式通过参数传进去。示例代码如下: plt.plot(x,y,linewidth=2).

Python案例分享,B站视频教程:https://space.bilibili.com/523606542 711

Android BLE扫描指南:解决设备发现问题

假设你正在开发一个MAUI应用,用于扫描并连接到BLE设备。你的代码在Windows上运行得很好,但在Android上却无法发现任何设备。尽管你已经在中声明了必要的权限,并且在运行时请求这些权限,扫描还是无法工作。

m0_62153576的博客 224

Python数据分析-matplotlib

python数据分析,适合学过python基础的

qq_53471484的博客 4266

多标签图像分类:标签依赖关系建模的最新论文解读与实战应用

多标签图像分类:标签依赖关系建模的最新论文解读与实战应用 ,人工智能,计算机视觉,大模型,AI,本文解读了最新相关论文,包括基于图神经网络(GCN)的ML-GCN方法,通过构建标签相关矩阵建模依赖关系;区域潜在语义依赖的RLSD模型,定位关键区域并利用RNN建模语义依赖;以及语义图表示学习的SSGRL框架,结合语义解耦与交互模块。通过实战应用,展示了基于PyTorch的ML-GCN模型实现,包括图像特征提取、标签依赖建模及训练评估流程,为多标签图像分类提供了有效解决方案。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 18万+

Veritas NetBackup8.1.1安装

1.在服务器上运行Browser.exe 2.选中安装,点击"NetBackup Server Software Installation" 3.提示一个”UAC模式”,我们确定忽略它 4.下一步 5.接受授权,下一步 6.自定义安装 7.输入Key,并点击”netBackup Master Server” 8.自定义路径,下一步 9.默认端口,下一步 10.创建内置账户 创建本地用户帐户: C:\>net user nbwebsvc <StrongPassword> /

万物皆可学 2万+

Matplotlib可视化:绘图基本操作(一)

Matplotlib官网 目录 1. 先导入库 2.最基本的一个图 3. 不同的线条类型linestyle &表示颜色color的字符参数: 5. 对图的操作还可以用plt.setp(),可以先作图,再更改布局风格 6. 子图.subplot() 7. 给图上加上注释 8. 风格设置 matplotlib cheatsheet 1. 先导入库 im...

冷月无声的博客 3943

LeRobot 入门教程(十一)π0(Pi0)π0.5(Pi0.5)训练、推理、部署

本文介绍了Physical Intelligence公司开发的π₀和π₀.₅系列通用机器人控制视觉-语言-动作模型。π₀作为首款基础模型,融合流匹配、跨实体训练等技术,支持50Hz高频控制。π₀.₅是其升级版,通过异构数据协同训练解决开放世界泛化问题,在Libero基准测试中表现优异。文章详细说明了两个模型的安装要求、使用方法、训练策略及关键参数配置,包括混合精度训练、梯度检查点等优化技术,为机器人在多样化场景中的语义理解和动作控制提供了完整解决方案。

2506_90492529的博客 5043

Matplotlib数据可视化:从入门到精通实战指南

数据可视化是数据分析与科学计算的核心环节,Matplotlib作为Python生态中最基础的可视化工具库,提供了从底层到高层的完整控制能力。其基于Figure(画布)和Axes(坐标系)的面向对象架构,支持创建出版级质量的各类图表。通过理解后端层、艺术家层和脚本层的三层架构,开发者可以精确控制每个可视化元素的属性。Matplotlib不仅能绘制基础折线图、柱状图,还支持3D可视化、复杂子图布局等高级功能。与Pandas、Seaborn等库的无缝集成,使其成为数据科学工作流中不可或缺的工具。掌握Matplot

weixin_33836874的博客 464

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python子图命名_python – 用于子图的plt.setp替代或如何在x轴...

我有这个代码,我可以控制以下属性:x轴范围,标题,xlabel,ylabel,图例,网格,x标签上文字的旋转:#!/usr/bin/pythonimport datetimeimport numpy as npimport matplotlibimport matplotlib.pyplot as pltfrom matplotlib.widgets import Sliderfrom matpl...

weixin_39801356的博客 1509

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【python绘图】Matplotlib绘图及设置(使用python制图)

matplotlib提供了快速绘图模块pyplot,它模仿了MATLAB的部分功能,能够高效的进行绘图。

Zincy星辰 7万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

线性回归

线性模型 目标值是特征的线性组合就称为线性回归。 普通的最小二乘法 寻找w=(w1,w2,...,wp)w=(w_1, w_2, ..., w_p)w=(w1​,w2​,...,wp​)使得minw∣∣Xw−y∣∣22min_w||Xw-y||_2^2minw​∣∣Xw−y∣∣22​。 from sklearn import linear_model reg = linear_model.LinearRegression() reg.fit([[0, 0], [1, 1], [2, 2]], [0, 1,

qq_43887432的博客 336

python——matplotlib的用法详解

Matplotlib是Python生态系统的一个重要组成部分,是用于可视化的绘图库,它提供了一整套和matlab相似的命令API和可视化界面,可以生成出版质量级别的精美图形,Matplotlib使绘图变得非常简单,在易用性和性能间取得了优异的平衡。安装成功后,即可以在Python中像使用其它库一样导入和使用Matplotlib,而无需更多文件的配置,通常我们将其导入后使用别名mplMatplotlib的配置更多的用于修改绘制图形的默认样式,Matplotlib。

longhaierwd的博客 3万+

matplotlib库 Figure对象 Axes对象 Axis对象 如何根据Figure对象获取Axes对象

Axis对象则是具体的坐标轴了。

java能飞翔 574

六、Matplotlib库(上)

本文为读者详细介绍了Python中的Matplotlib库,包括其在数据分析中绘制常用图形的方法,如折线图、柱状图、直方图、散点图、饼状图和箱线图。文章还涵盖了Matplotlib的基本使用、线条样式设置、图的信息设置、绘制多图技巧以及风格设置,适合希望快速入门数据可视化的开发者。

weixin_44063529的博客 862

matplotlib——绘制精美的图表

matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。...

张海玲的博客 2438

saiku 修改默认图表颜色

saiku给定的图表颜色有的时候看起来不是很好看,这个时候修改默认的图表颜色就很有必要了 修改文件 js/saiku/render/SaikuChartRender.js文件中的 281行的默认颜色配置信息就行了 默认给定的颜色是  colors: ["#1f77b4", "#aec7e8", "#ff7f0e", "#ffbb78", "#2ca02c", "#98df8a", "#d

1071

python pyplot用法_Matplotlib.pyplot 常用方法

2.2、hold属性hold属性默认为True,允许在一幅图中绘制多个曲线;将hold属性修改为False,每一个plot都会覆盖前面的plot。但是目前不推荐去动hold这个属性,这种做法(会有警告)。因此使用默认设置即可。2.3、网格线grid方法使用grid方法为图添加网格线设置grid参数(参数与plot函数相同).lw代表linewidth,线的粗细.alpha表示线的明暗程度2.4、a...

weixin_39949506的博客 1597

matplotlib(一)——pyplot使用简介

pyplot介绍matplotlib.pyplot是一个有命令风格的函数集合,它看起来和MATLAB很相似。每一个pyplot函数都使一副图像做出些许改变,例如创建一幅图,在图中创建一个绘图区域,在绘图区域中添加一条线等等。在matplotlib.pyplot中,各种状态通过函数调用保存起来,以便于可以随时跟踪像当前图像和绘图区域这样的东西。绘图函数是直接作用于当前axes(matplotlib中的

CUG_UESTC的博客 15万+

Python 数据分析 —— Matplotlib ①

     matplotlib 是一个 Python 的 2D 图形包。pyplot 封装了很多画图的函数。   导入相关的包:    包含一系列类似 MATLAB 中绘图函数的相关函数。每个 matplotlib.pyplot 中的函数对当前的图像进行一些修改,例如:产生新的图像,在图像中产生新的绘图区域,在绘图区域中画线,给绘图加上标记,等等… matplotlib.pyplot 会自动记住当前的图像和绘图区域,因此这些函数会直接作用在当前的图像上。在实际的使用过程中,常以 作为 matplotli

苍夜月明的博客 7619

【Python】plt库详解和示例

plt 是 Python 中 Matplotlib 库的一个常用别名,它表示 pyplot,这是一个用于创建图形和图形的可视化表示的工具。下面是一些 plt 函数的详解和示例,以帮助大家理解和使用。

不定时分享,互相学习,共同进步 1万+
上一篇: matplotlib之pyplot模块——绘制对数线图(loglog()、semilogx()、semilogy())
下一篇: matplotlib之pyplot模块——递归查找对象(findobj())
mighty13
博客等级 码龄23年 728粉丝 438原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值