如何获取matplotlib树图中形状的坐标?

2024-01-04

我有工作树形图,我需要获取此树形图每个形状的坐标,例如之后将它们放入 GeoJSON 中。 有没有任何函数可以帮助我解决这个问题,或者我将从这个树状图的 svg 版本中获取所有坐标?


With ax = squarify.plot(...), ax.patches包含一个列表矩形贴片 https://matplotlib.org/3.2.0/api/_as_gen/matplotlib.patches.Rectangle.html。这些矩形具有诸如get_x()。坐标位于轴坐标系中,在 x 和 y 方向上似乎都是从 0 到 100。

当您在同一图中绘制更多元素时,ax可能还包含其他元素,因此您可能需要过滤它们。

import matplotlib.pyplot as plt
import squarify  # pip install squarify (algorithm for treemap)

ax = squarify.plot(sizes=[13, 22, 35, 5], label=["group A", "group B", "group C", "group D"], color=['b','r','y','g'])

for rect in ax.patches:
    x, y, w, h = rect.get_x(), rect.get_y(), rect.get_width(), rect.get_height()
    c = rect.get_facecolor()
    print(f'Rectangle x={rect.get_x()} y={rect.get_y()} w={rect.get_width()} h={rect.get_height()} ')
plt.axis('off')
plt.show()

example plot PS: To obtain the corresponding texts, again supposing the plot only contains the treemap:

for rect, text in zip(ax.patches, ax.texts):
    x, y, w, h = rect.get_x(), rect.get_y(), rect.get_width(), rect.get_height()
    c = rect.get_facecolor()
    t = text.get_text()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取matplotlib树图中形状的坐标? 的相关文章

  • Firefox 中的文件下载对话框

    我正在使用firefox进行selenium python编程 自动开始下载并保存文件 我已经完成了所有操作 但无法下载csv文件 我的python版本是2 6 6 我的selenium版本是最新版本 我也尝试使用以下链接 即 fp web
  • 在 Python 中比较浮点数是否几乎相等的最佳方法是什么?

    众所周知 由于舍入和精度问题 比较浮点数是否相等有点繁琐 例如 比较浮点数 2012 年版 https randomascii wordpress com 2012 02 25 comparing floating point number
  • 让 Django 提供可下载文件

    我希望网站上的用户能够下载路径被遮挡的文件 因此无法直接下载它们 例如 我希望 URL 是这样的 http example com download f somefile txt 在服务器上 我知道所有可下载的文件都位于该文件夹中 home
  • 如何从 Windows 7 PC 上完全卸载 Python 2.7

    从这里安装了Python 2 7 https www python org downloads release python 279 https www python org downloads release python 279 然后我
  • 如何将数据从 JavaScript 发送到 Python

    我正在 jinja2 和 python2 7 上使用 GAE 进行 Web 开发 我可以从Python获取数据 但我无法将数据从 JavaScript 发送到 Python 这是 JavaScript 代码 function toSave
  • 打开文件路径在 python 中不起作用[重复]

    这个问题在这里已经有答案了 我正在编写一个数据库程序 personica 是我的测试主题 我通常在文件路径的位置有一个变量 但出于测试和演示的目的 我只有一个字符串 在我的计算机上的这个确切位置有一个文本文件 顺便说一句 因为我很偏执 所以
  • 以编程方式结束/退出粘合作业

    我正在使用 Glue 书签来处理数据 我的工作是每天安排的 但也可以 手动 启动 由于我使用书签 有时胶水作业可以在没有新数据要处理的情况下启动 然后读取的数据帧为空 在这种情况下 我想好好地结束我的工作 因为它没有什么关系 我试过 if
  • NLTK:包错误?朋克和泡菜?

    基本上 我不知道为什么会收到此错误 只是为了获得更多图像 这里有一个代码格式的类似消息 由于是最新的 该帖子的答案已经在消息中提到 Preprocessing raw texts LookupError Traceback most rec
  • 我可以在pycharm中的断点处进入交互模式吗

    我是一个相当新的 Pycharm 3 用户 正在从事 django 项目 我可以在 pycharm3 中的断点处进入交互模式吗 这可能吗 当程序在断点处停止时 我尝试过工具 gt 打开调试命令行 但我没有看到控制台打开 我怎样才能让它发挥作
  • 如何在 Django 中像应用程序一样从配置中注册 Flask 蓝图?

    如何从我的配置中注册 Flask 蓝图 就像 Django 中的应用程序一样 我想在配置文件中定义蓝图 它将自动注册 config py BLUEPRINTS news files 实际上我一直在一个暂定名为的项目中勾勒出类似的东西臀部口袋
  • 如何在solidpython中设置特殊变量$fa、$fs、$fn

    in 上一个线程 https stackoverflow com questions 54040390 how to save data in stl file after python solid processing显示了如何通过 So
  • 自动创建带有文件输出的目录[重复]

    这个问题在这里已经有答案了 假设我想制作一个文件 filename foo bar baz txt with open filename w as f f write FOOBAR 这给出了一个IOError since foo bar不存
  • Python-使用元组作为列表索引[重复]

    这个问题在这里已经有答案了 我有一个元组列表 tuples list 1 0 2 3 3 2 2 0 我想访问二维数组的元素a例如 使用其中一些元组 for i in range 3 print a tuples list i 应该输出的值
  • 启动客户端时,代码要求提供电话/机器人令牌

    使用 Telethon 库运行我的第一个代码时 它要求提供机器人令牌 这是实际的代码 from telethon import TelegramClient events sync api id 1234567 api hash xxxxx
  • 如何仅在按下某个键时触发鼠标单击?在Python中

    我想制作一个程序 或者当我单击某个键时 鼠标会自动单击 只要我单击该键 如果我不单击该键 它就会停止 我不希望只在触摸按键一次时才发生点击 而是只要按住按键就发生点击 也可以像雷蛇突触鼠标一样按下鼠标左键触发点击 任何想法 EDIT 1 这
  • 内置模块位于哪里?

    我尝试查找列出的所有目录sys path但我找不到任何builtins py文件 那么它在哪里呢 从字面上看 该模块内置于 python 解释器中 gt gt gt import builtins gt gt gt builtins
  • 如何将动态数据传递给装饰器

    我正在尝试编写一个基本的 CRUD 控制器类来执行以下操作 下列的 class BaseCrudController model field validation template dir expose self template dir
  • `numpy.diff` 和 `scipy.fftpack.diff` 在微分时给出不同的结果

    我正在尝试计算一些数据的导数 并且正在尝试比较有限差分的输出和谱方法的输出 但结果却截然不同 我无法弄清楚到底为什么 考虑下面的示例代码 import numpy as np from scipy import fftpack as sp
  • 在不同进程之间共享列表?

    我有以下问题 我编写了一个函数 它将列表作为输入 并为列表中的每个元素创建一个字典 然后我想将这本字典附加到一个新列表中 这样我就得到了一个字典列表 我正在尝试为此生成多个进程 我的问题是 我希望不同的进程访问由其他进程更新的字典列表 例如
  • 如何使用多阶段构建减小 python (docker) 图像大小?

    我正在寻找一种使用 python 和 Dockerfile 创建多阶段构建的方法 例如 使用以下图像 第一张图片 安装所有编译时要求 并安装所有需要的 python 模块 第二张图片 将所有已编译 构建的包从第一个映像复制到第二个映像 而不

随机推荐

  • FB 广告 API (#17) 达到用户请求限制

    我正在开发 Facebook 广告 api 来获取帐户营销活动数据 我在这里所做的是获取所有营销活动的列表 并对每个营销活动进行 forloop 获取营销活动统计数据 campaignSets account gt getCampaigns
  • 带参数的热切加载 - laravel

    I have Banks表和单独的表services bank Banks find 1 echo bank gt service 1 print bank with that service serviceId 1 可以通过 servic
  • Popen 在 venv 中创建一个附加进程

    Popen 在中创建一个附加进程venv如果我使用 sys executable 请参阅以下脚本 parent py import time import os import sys import psutil def print proc
  • Ruby 1.9 如何处理源代码中的字符大小写?

    在 Ruby 1 8 及更早版本中 Foo 是一个常量 类 模块或其他常量 然而 foo 是一个变量 主要区别如下 module Foo bar 7 BAZ 8 end Foo BAZ gt 8 Foo bar NoMethodError
  • NodeJS / Express 中的“module.exports”和“exports.methods”是什么意思?

    随机看一下源文件 https github com visionmedia express blob master lib router index js of the express框架NodeJS 有两行代码我不明白 这些代码行是几乎所
  • 理解 dart 中的“!”Bang 操作符

    我在 Stateful 类中声明了一个回调方法 如下所示 final void Function int index onSelected MyBottomNavigationBar required this onSelected 并调用
  • 使用 jQuery 获取字符串的一部分

    HTML 代码 div div 我怎样才能得到号码 45 字符串使用jQuery http en wikipedia org wiki JQuery To 返回末尾的数字id属性 use this attr id match d 上面会返回
  • 如何使用 MockHttpServletRequest 对文件上传进行单元测试?

    我有一个 Spring 3 0 控制器 其方法具有HttpServletRequest作为参数之一 因为它正在处理 多个 文件上传 RequestMapping value classified idClassified dealer id
  • CocoaLumberjack iOS - 我们可以更改日志文件名称和目录吗?

    我在我的项目中使用 CocoaLumberjack 我需要将日志文件的名称更改为我的自定义文件名 NSString applicationDocumentsDirectory NSFileManager defaultManager URL
  • PostgreSQL - 禁用约束

    我有一个大约有 500 万行的表 它有一个引用另一个表 也大约有 500 万行 的主键的 fk 约束 我需要从两个表中删除大约 75000 行 我知道 如果我尝试在启用 fk 约束的情况下执行此操作 将会花费不可接受的时间 来自 Oracl
  • 将 3D 极坐标转换为笛卡尔坐标

    我一直在对这种转换背后的数学进行大量搜索 到目前为止我能想到的最好的方法是 x sin horizontal angle cos vertical angle y sin horizontal angle sin vertical angl
  • Dafny 没有条件可以触发谓词

    我有以下用于 tic tac toe 游戏的 Dafny 代码片段 用于检查玩家 1 是否在棋盘上有获胜行 predicate isWinRowForPlayer1 board array2
  • 为什么我不能在 Groovy 脚本中的 @Grab 声明之后执行方法调用?

    我正在尝试构建一个 DSL 并使用 Global AST Transform 来完成它 该脚本正在编译groovyc很好 但我希望能够让用户使用 Grab Grape 来提取 JAR 并让它作为常规脚本立即执行 然后我发现我无法正确执行此操
  • 将字符串转换为长度为 1 的列表

    我创建了一个需要列表才能正常工作的方法 但是 您可以发送列表或简单的字符串 我想将该字符串转换为包含整个字符串作为元素的列表 例如 如果我有 I am a string 我想将其转换为 I am a string 我能够这样做 I am a
  • 使用准备好的语句进行选择查询时出现 SQL 异常

    StringBuilder sqlQry new StringBuilder sqlQry append SELECT LIB PATH append FROM OBJ append INNER JOIN SRC ON SRC MBR OB
  • JavaScript 闭包如何工作?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 您如何向了解 JavaScript 闭包所包含的概念 例如函数 变量等 但不了解闭包本身
  • R 中的按行排序

    我想知道如何使用 R 在 csv 中进行按行排序 这是我拥有的以下数据 Name English Math French John 56 78 86 Sam 79 97 86 Viru 93 44 34 我想对上述数据集执行按行排序 就像下
  • 如何在 xslt 中包含 javaScript 文件

    如何在 xslt 文件中包含 导入 javaScript 文件 库 如果你需要在转换中使用javascript 例如 它包含一组在转换中调用的扩展函数 您需要使用适当的扩展元素 例如
  • “使用未经检查或不安全的操作”[重复]

    这个问题在这里已经有答案了 为什么每次编译时都会出现 使用未经检查或不安全的操作 错误 代码有什么问题吗 我从本教程复制了完全相同的代码http www mkyong com java json simple example read an
  • 如何获取matplotlib树图中形状的坐标?

    我有工作树形图 我需要获取此树形图每个形状的坐标 例如之后将它们放入 GeoJSON 中 有没有任何函数可以帮助我解决这个问题 或者我将从这个树状图的 svg 版本中获取所有坐标 With ax squarify plot ax patch