如何找到matplotlib样式名称?

2024-02-28

是否可以知道当前matplotlib样式的名称?我知道我可以使用以下命令获取所有可用样式的列表plt.style.available,但我想要的是获取当前使用的样式名称的可能性。我正在spyder python 3.5的ipython控制台中工作,但如果这个问题的答案取决于我的工作环境,我会感到惊讶:)


看着的来源plt.style.use https://github.com/matplotlib/matplotlib/blob/734c09f164819854a13d77b128da283952eb08d4/lib/matplotlib/style/core.py#L64-L113,我没有看到任何迹象表明使用新样式可以存储正在使用的样式的名称。

我想过手动检查当前rcParams针对每种可用的样式,如下所示:

import matplotlib.pyplot as plt

for style in plt.style.available:
    for key in plt.style.library[style]:
        if plt.rcParams[key] != plt.style.library[style][key]:
            break
    else:
        print('Current style is consistent with {}.'.format(style))

但没有一个可用的样式与我的默认样式匹配。然后我还打印了不匹配的原因:

for style in plt.style.available:
    for key in plt.style.library[style]:
        val_now,val_style = plt.rcParams[key],plt.style.library[style][key]
        if val_now != val_style:
            print('Discarding style {}: {} vs {} for key {}'.format(style,val_now,val_style,key))
            break
    else:
        print('Current style is consistent with {}.'.format(style))

部分输出:

Discarding style seaborn-paper: 0.6 vs 0.4 for key xtick.minor.width
Discarding style seaborn-whitegrid: w vs white for key figure.facecolor
Discarding style seaborn-talk: 0.8 vs 1.3 for key grid.linewidth

注意第二项:w vs white。现在这是一个问题。命名颜色不容易通过不同的名称或 RGBA 值等来测试与相同颜色的相等性。

然后我考虑使用转换每种颜色matplotlib.colors.to_rgba(),但是如果你想正确地做到这一点,你需要完全解析参数,包括像这样的gem:

Discarding style grayscale: figure.facecolor,w vs figure.facecolor,0.75

即使后一个值对应于白色,我们也需要首先解析该值并找到隐藏在其中的颜色。

对我来说,唯一安全的实施似乎是plt.style.use将样式的名称存储在某处。但如果其中有任何事情会发生什么rcParams是手动更改的吗?那么就不会有be当前加载的样式。这是反对存储样式名称的反驳。每当参数更改时,都必须进行检查以使最后一个参数无效plt.style.use调用的样式名称。我不确定您的问题是否有明显的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找到matplotlib样式名称? 的相关文章

  • 为什么在访问 Python 对象属性时使用 getattr() 而不是 __dict__ ?

    在具有一定程度的 Python 对象自省的源代码示例和 SO 答案中 常见的模式是 getattr some object attribute name string 是否有理由优先选择这种模式 some object dict attri
  • 使用 NumPy 编写一个函数来计算具有特定公差的积分

    我想编写一个自定义函数来以特定容差对表达式 python 或 lambda 函数 进行数字积分 我知道与scipy integrate quad人们可以简单地改变epsabs但我想使用 numpy 自己编写该函数 From 这篇博文 htt
  • 如何在Windows中的Python 3.9下pip安装pickle?

    我需要pickle https docs python org 3 9 library pickle html module pickle包安装在我的下面Python 3 9在 Windows 10 下 我尝试过的 当尝试与pip inst
  • 在linux上安装python ssl模块,无需重新编译

    是否可以在已经安装了 OpenSSL 的 Linux 机器上安装 python 的 SSL 模块 而无需重新编译 python 我希望它就像复制几个文件并将它们包含在库路径中一样简单 Python版本是2 4 3 谢谢 是否可以在已经安装了
  • Django 多对多关系(类别)

    我的目标是向我的 Post 模型添加类别 我希望以后能够按不同类别 有时是多个类别 查询所有帖子 模型 py class Category models Model categories 1 red 2 blue 3 black title
  • 设置高亮大括号的 vim 颜色主题

    如何更改突出显示大括号的 vim 配色方案 我希望实际编辑 vim 主题文件以使更改永久生效 问候 克雷格 匹配括号的自动高亮颜色称为MatchParen 您可以通过执行以下操作来更改 vimrc 中的颜色 highlight MatchP
  • 正在使用 PIL 保存损坏的图像

    我遇到一个问题 操作图像像素导致保存损坏的图像 因此 我使用 PIL 打开图像 然后将其转换为 NumPy 数组 image Image open myimage png np image np asarray image 然后 我转置图像
  • 数据框中 .map(str) 和 .astype(str) 有什么区别

    我有一个数据框 其列名为 col1 和 col2 的整数类型条目 我想将 col1 和 col2 的条目以及其间的 点 连接起来 我搜索并发现添加两个列条目 df col df col1 map str df col2 map str 并添
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • Python:在字典中查找具有唯一值的键?

    我收到一个字典作为输入 并且想要返回一个键列表 其中字典值在该字典的范围内是唯一的 我将用一个例子来澄清 假设我的输入是字典 a 构造如下 a dict a cat 1 a fish 1 a dog 2 lt unique a bat 3
  • python Recipe:列出最接近等于值的项[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 考虑像这样的列表 0 3 7 10 12 15 19 21 我想获得最接近任何值的最近的最小数字 所以如果我通过4 我会得到3 如果我
  • Seaborn 中没有线性拟合的散点图

    我想知道是否有办法关闭seaborn中的线性拟合lmplot或者是否有一个等效函数可以生成散点图 当然 我也可以使用 matplotlib 但是 我发现 seaborn 中的语法和美学非常吸引人 例如 我想绘制以下情节 import sea
  • 如何在matplotlib中调整x轴

    I have a graph like this x轴上的数据表示小时 所以我希望x轴设置为0 24 48 72 而不是现在的值 很难看到 0 100 之间的数据 fig1 plt figure ax fig1 add subplot 11
  • 从 wxPython 事件处理程序中调用函数

    我正在努力寻找一种在 wxPython 事件处理函数中使用函数的方法 假设我有一个按钮 单击该按钮时 它会使用事件处理程序运行一个名为 OnRun 的函数 但是 用户忘记单击 OnRun 按钮之前的 RadionButton 我想弹出一个
  • 从迭代器外部将 StopIteration 发送到 for 循环

    有几种方法可以打破一些嵌套循环 他们是 1 使用中断 继续 for x in xrange 10 for y in xrange 10 print x y if x y gt 50 break else continue only exec
  • 如何使用 enumerate 来倒数?

    letters a b c 假设这是我的清单 在哪里for i letter in enumerate letters 将会 0 a 1 b 2 c 我怎样才能让它向后枚举 如 2 a 1 b 0 c 这是一个很好的解决方案并且工作完美 i
  • 使用 MPI 的 Allreduce 对 Python 对象求和

    我正在使用使用 Python 中的字典和计数器构建的稀疏张量数组操作 我想让并行使用这个数组操作成为可能 最重要的是 我最终在每个节点上都有计数器 我想使用 MPI Allreduce 或另一个不错的解决方案 将其添加在一起 例如 使用计数
  • 使用 pandas 单元格中列表的长度选择行[重复]

    这个问题在这里已经有答案了 我有一张表 df a b c 1 x y x 2 x z c d 3 x t e f g 只是想知道如何使用 c 列的长度选择行 such as df loc len df c gt 1 我知道这是不对的 正确的
  • MoviePY 无法在 Windows 上检测 ImageMagick 二进制文件

    我刚买了一台新笔记本电脑 想要设置MoviePY在那新的Windows 64x Python3 7 0 机器 我对所有内容都进行了三次检查 但是当涉及到我的代码的文本部分时 它向我抛出了这个错误 OSError MoviePy Error
  • 基于值的 matplotlib 条形图颜色

    有没有一种方法可以根据条形图的值对条形图的条形进行着色 例如 values below 0 5 red values between 0 5 to 0 green values between 0 to 08 blue etc 我找到了一些

随机推荐

  • Android Espresso 执行长按而不是单击

    onData anything inAdapterView withId R id ScheduleOrderListViewListView atPosition 0 perform click 50 的时间执行长触摸 有没有好的解决方法
  • 用于收集对象的 Rails 模型类方法

    我在编写用于集合的类方法时遇到问题ActiveRecord对象 在过去的几个小时里 我已经两次遇到这个问题 这似乎是一个简单的问题 所以我知道我错过了一些东西 但我无法在其他地方找到答案 Example class Order lt Act
  • 无法在设备上调试应用程序

    我的所有设备都工作正常 这个特定的设备是三星的 但没有 当我插入手机时 手机会显示在 DDMS 设备列表中 但是 没有任何应用程序 进程出现 这是唯一发生这种情况的设备 是的 USB 调试已启用 是的 debuggable 在清单中设置为
  • css嵌入无滚动条

    好吧 我有一个带有 ajax 按钮的页面 当您点击 ajax 按钮时 它会将一个嵌入对象扔到 data div 中 一切正常 我的问题是嵌入正在创建一个我不想要的滚动条 关于如何防止滚动条有什么想法吗 我已经尝试过在任何地方都可以抛出 ov
  • Webgl使用视口+剪刀更新区域

    我一直在尝试创建一个多视口 webgl 应用程序 对于每个视图 我使用视口 剪刀将所有内容渲染得非常好 但现在我想改进渲染并只渲染更新的视图 因此跳过过度绘制 我做了一个小演示来展示这个想法 http kile stravaganza or
  • LIMIT then RAND 而不是 RAND then LIMIT

    我正在使用全文搜索来提取行 我根据分数对行进行排序 ORDER BY SCORE 然后在前 20 行 LIMIT 20 中 我想对结果集进行兰特 RAND 操作 因此 对于任何特定的搜索词 我想随机显示前 20 个结果中的 5 个 我的解决
  • MSI 安装程序错误 2810 中断安装,但仍然顺利完成

    我创建了一个安装应用程序的设置 并且仍然如此 但它最后开始突然发出奇怪的警告 因此 当安装过程完成时 会出现以下内容 安装程序在安装此软件包时遇到意外错误 这可能表明此包有问题 错误代码是2810 于是我查了2810 上面写着 在对话框 2
  • Angularjs 1.7.9 - 可能未处理的拒绝[重复]

    这个问题在这里已经有答案了 我经常遇到这个错误Possibly unhandled rejection即使在使用时 promise then success err or promise then success catch err 我应该
  • Oracle 12c - “number”列上的索引比“varchar”列上的索引执行得更快吗?

    假设我在 Oracle 12c 中有一个表 其中包含以下列 create table t1 a number 5 0 b varchar 5 0 d e 然后我在具有相同值的两列中插入 100 000 000 条记录 例如 20151 an
  • 将 Android Studio 项目与 Gradle 文件同步

    I was working on a project and then I got a prompt to update Android Studio After I did that I started getting this erro
  • 如何以编程方式触发浏览器的搜索?

    我喜欢做的是通过 JavaScript 以编程方式触发浏览器的页面搜索功能 I e when a page is loaded and the the user presses Ctrl F a search field is opened
  • JobStorage.Current 属性值尚未初始化。您必须在使用 Hangfire 客户端或服务器 API 之前设置它

    我在 mvc 应用程序中使用hangfire 我正在向用户发送提醒 预约 我已经在我的应用程序中安装了hangfire 我已经配置了hangfire 启动 cs 类 但是当我运行该应用程序时 它会产生以下错误 作业存储 当前属性值尚未初始化
  • Python中快速嵌套列表的意外更新结果[重复]

    这个问题在这里已经有答案了 为什么下面不能更新第一个元素而是整列 gt gt gt x 2 2 1 gt gt gt x 1 1 1 1 gt gt gt x 0 0 2 gt gt gt x 2 1 2 1 即使这是明显的重复但使用ran
  • Android:ListView.getScrollY() - 它有效吗?

    我正在使用它 但它总是返回 0 即使我已经滚动到列表末尾 getScrollY 实际上是View上的方法 而不是ListView上的方法 它指的是整个视图的滚动量 所以它几乎总是0 如果你想知道ListView的内容滚动了多远 可以使用li
  • 气球弹出 WPF

    我需要显示一个气球弹出窗口 WPF中有针对此类工作的控件吗 像下面这样
  • 在 Swift 中从 iPhone 加载联系人会崩溃

    我正在尝试加载我的应用程序的联系人 它在模拟器中运行良好 但在 iPhone 上却崩溃了 我正在使用的代码 func getContactNames let allContacts ABAddressBookCopyArrayOfAllPe
  • 将 SQL 列空值转换为 0

    我是 SQL Server 新手 有一个问题 我有这样的视图 其中公式中的某些列允许为空 我如何将这些空值转换为 0 因为如果它们为空 则公式的结果也将为空 Thanks CREATE VIEW vwAchizitii AS SELECT
  • while 循环内的表变量并非每次都初始化:SQL Server

    我想知道为什么 while 循环内的表变量的行为与其他变量不同 表变量仅创建一次 并将在整个循环中使用 但每次循环增加时其他变量都会被初始化 查看下面的代码以获取更多信息 declare tt int set tt 10 while tt
  • Angular2 - 表达式在检查后已更改 - 通过调整大小事件绑定到 div 宽度

    我已经对此错误进行了一些阅读和调查 但不确定适合我的情况的正确答案是什么 我知道在开发模式下 更改检测会运行两次 但我不愿意使用enableProdMode 来掩盖问题 这是一个简单的示例 其中表格中的单元格数量应随着 div 宽度的扩展而
  • 如何找到matplotlib样式名称?

    是否可以知道当前matplotlib样式的名称 我知道我可以使用以下命令获取所有可用样式的列表plt style available 但我想要的是获取当前使用的样式名称的可能性 我正在spyder python 3 5的ipython控制台