具有“浮动”径向轴的极坐标图

2024-01-18

我正在研究一个由网格中大量极坐标图组成的图形,所有这些极坐标图在径向轴上共享一个共同的比例。每个图都需要非常小才能适合图形,但是当我缩小轴的尺寸时,径向轴的刻度标签看起来拥挤且难以辨认,并且模糊了我试图绘制的数据。

例如:

import numpy as np
from matplotlib import pyplot as plt

fig, axes = plt.subplots(1, 4, figsize=(9, 2), subplot_kw=dict(polar=True))

theta = np.r_[np.linspace(0, 2*np.pi, 12), 0]
for aa in axes.flat:
    x = np.random.rand(12)
    aa.plot(theta, np.r_[x, x[0]], '-sb')
    aa.set_rlim(0, 1)

fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9, wspace=0.5)

我意识到可以通过减小字体大小和径向刻度数量来部分缓解该问题,但我更愿意避免刻度标签与我的数据完全重叠。相反,我想要一个位于绘图外部的“浮动”径向轴,如下所示:

对于正常的笛卡尔图,我只会使用ax.spine['left'].set_position(...), but a PolarAxesSubplot只有一个u'polar'无法偏移的脊柱。是否有一种“好”的方法来为极坐标图创建浮动径向轴,理想情况下可以更新其比例和限制以匹配极坐标图本身径向轴的任何更改?


这并不完全是您想要的,但它可能会提示您如何针对极轴精确定位标签:

import numpy as np
from matplotlib import pyplot as plt

fig, axes = plt.subplots(1, 4, figsize=(9, 2), subplot_kw=dict(polar=True))

theta = np.r_[np.linspace(0, 2*np.pi, 12), 0]
for aa in axes.flat:
    x = np.random.rand(12)
    aa.plot(theta, np.r_[x, x[0]], '-sb')
    aa.set_rlim(0, 1)

plt.draw()
ax = axes[-1]
for r, t in zip(ax.yaxis.get_ticklocs(), ax.yaxis.get_ticklabels()):
    ax.text(np.pi/2, r, '$\cdot$'*20 + t.get_text(), ha='left', va='center',
            fontsize=10, color='0.25')
for ax in axes:
    ax.yaxis.set_ticklabels([])

fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9, wspace=0.5)
fig.savefig('test.png', bbox_inches='tight')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有“浮动”径向轴的极坐标图 的相关文章

  • 使用 Scipy (Python) 将经验分布拟合到理论分布?

    介绍 我有超过 30 000 个整数值的列表 范围从 0 到 47 含 例如 0 0 0 0 1 1 1 1 2 2 2 2 47 47 47 从一些连续分布中采样 列表中的值不一定按顺序排列 但顺序对于此问题并不重要 PROBLEM 根据
  • Tweepy 连接中断:IncompleteRead - 处理异常的最佳方法?或者,线程可以帮助避免吗?

    我正在使用 tweepy 处理大型 Twitter 流 关注 4 000 多个帐户 添加到流中的帐户越多 出现此错误的可能性就越大 Traceback most recent call last File myscript py line
  • python: 将“5,4,2,4,1,0”转换为 [[5, 4], [2, 4], [1, 0]] [重复]

    这个问题在这里已经有答案了 有没有一种 直接 的方法来转换包含 数字到 x y 整数列表中 from 5 4 2 4 1 0 3 0 5 1 3 3 14 32 3 5 to 5 4 2 4 1 0 3 0 5 1 3 3 14 32 3
  • 如何将字符串转换为电话号码

    我一直被这个问题困扰了很长时间 这就是问题 编写一个函数 以字符串作为参数并返回电话号码 对应于该字符串作为结果 电话号码也应该是一个字符串 转换规则是标准单词到电话号码的规则 a b 或 c 映射到 2 d e 或 f 映射到 3 g h
  • 如何在 PyQt5 GUI 中快速绘制 matplotlib 实时绘图

    几年前 我已经尝试过嵌入现场matplotlib中的情节PyQt5图形用户界面 实时绘图显示从传感器捕获的实时数据流 某些过程 我已经成功了 您可以在此处阅读相关帖子 您自己的 GUI 中的 Matplotlib 动画 https stac
  • 如何测试 Django CreateView?

    我想在 Django 上练习测试 并且我有一个要测试的 CreateView 该视图允许我创建一个新帖子 我想检查它是否可以找到没有发布日期的帖子 但首先我测试带有发布日期的帖子只是为了习惯语法 这就是我所拥有的 import dateti
  • 使用 python 检测给定音频文件中的静音索引

    我正在尝试使用 numpy struct 等各种模块在 python 中处理音频文件 但是我真的很难检测文件中的静音 就像在哪里存在静音一样 我遇到的方法之一是在音频信号上滑动固定时间间隔的窗口并记录元素平方和 我是Python新手 几乎不
  • Python、Qt、ComboBox、两栏?

    问题很简单 但到目前为止答案有问题 我将 QT 与 Python 和 SQL 结合使用 我收到一些查询数据 从部门中选择 id 部门 我想创建具有两列 id 部门 的组合框 它将仅显示 部门 部门1 部门2 等 但选择后 它应该返回 id
  • 在 Django Admin 中隐藏 Auth 部分 [重复]

    这个问题在这里已经有答案了 在 Django 管理中 有什么方法可以隐藏 Auth 部分吗 假设这是 Django 和准系统项目的全新安装 没有应用程序 只有管理员 您可以使用admin site unregister from djang
  • Python 递归搜索带有嵌套键的字典

    我最近必须使用嵌套的字典 列表组合来解决实际数据系统中的问题 我为此工作了很长一段时间并提出了解决方案 但我非常不满意 我不得不求助于使用globals 和一个命名的临时全局参数 我不喜欢使用全局变量 这只是要求注入漏洞 我觉得必须有一种更
  • pytest 是否有类似 google test 的非致命 EXPECT_* 行为?

    我更熟悉谷歌测试框架并了解他们支持的主要行为对ASSERT vs EXPECT 这是致命和非致命断言模式 来自文档 https github com google googletest blob master googletest docs
  • 伪造文件系统/虚拟文件系统

    我有一个 Web 服务 用户可以将在服务器上运行的 python 脚本上传到该服务 这些脚本处理服务器上的文件 我希望它们能够仅看到服务器文件系统的特定层次结构 最好 一个临时文件夹 我在其中复制要处理的文件和脚本 该服务器最终将是基于 L
  • NumPy“记录数组”或“结构化数组”或“recarray”

    NumPy 结构化数组 记录数组 和 记录数组 之间有什么区别 如果有的话 The NumPy 文档 http docs scipy org doc numpy user basics rec html暗示前两个是相同的 如果是 那么该对象
  • 如何计算列表的最小不公平性总和

    我试图将问题陈述总结如下 Given n k和一个数组 列表 arr where n len arr and k is an integer in set 1 n inclusive 对于数组 或列表 myList 不公平总和定义为sum中
  • 使用 python 在 txt 文件中查找字符串的最佳方法是什么?

    使用 python 在 txt 文件中查找字符串一定有多种方法 但最好的方法是什么 为了速度 为了资源 我的第一个想法如下 file open home socfw src edl outbound monthly txt inputIP
  • soup.findAll 返回空列表

    我正在尝试用汤刮擦 但当我调用 findAll 时却得到了一个空集 from urllib request import urlopen as uReq from bs4 import BeautifulSoup as soup my ur
  • Python Difflib Delta 和比较 Ndiff

    我想做一些类似我认为变更控制系统所做的事情 它们比较两个文件 并在每次文件更改时保存一个小的差异 我一直在读这个页面 http docs python org library difflib html http docs python or
  • 无法在 Windows 10 上启动 Celery Worker,并出现“PicklingError”

    我有一个简单的测试代码 可以在 Linux 上成功运行 但它无法在我的 Windows 10 x64 计算机上运行 当我尝试启动 celery Worker 时 它抱怨无法恢复的错误 PicklingError 芹菜版本 3 1 20 在我
  • 如何提取Firefox会话cookie(Python语言首选)

    我正在尝试从数据库 cookies sqlite 中提取 FF cookie 然而 似乎只能在那里找到具有过期日期的cookie 我正在搜索会话结束时过期的cookie 我什至打开了FF的 记住打开的标签 功能 我不明白 它们之间的根本区别
  • Google 网上论坛 API 添加成员

    我在互联网上找到了很多有关将成员添加到 Googlegroups 群组中的信息 但我无法使其发挥作用 我正在 Python DJango 工作 使用企业帐户 我设法使用配置 API 添加它们 但无法使用新的目录 API 来添加它们 问题是我

随机推荐