了解 Python ReportLab 中的表坐标系

2023-12-19

我无法理解坐标系ReportLab表格样式。

根据他们的文档:

每个命令的第一个元素是其标识符,第二个和第三个参数确定单元格 受负坐标影响的单元格的坐标,从 Python 索引中的限制值。

坐标给出为(列,行),紧随其后 电子表格“A1”模型,但不是更自然的(对于数学家)“RC”排序。左上角的单元格是 (0, 0) 右下角是(-1,-1)

如果右下角始终为 (-1, -1),是否意味着中间的行和列都是分数?这似乎没有道理。给出下面的示例,从位置 (1,1) 开始的绿色坐标系如何从 0 到 -1,以及第二个坐标系 (-2,-2) 如何从原点位置偏移?

from reportlab.lib import colors
from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle

doc = SimpleDocTemplate("simple_table.pdf", pagesize=letter)
# container for the 'Flowable' objects
elements = []

data= [['00', '01', '02', '03', '04'],
       ['10', '11', '12', '13', '14'],
       ['20', '21', '22', '23', '24'],
       ['30', '31', '32', '33', '34']]
t=Table(data)
t.setStyle(TableStyle([('BACKGROUND',(1,1),(-2,-2),colors.green),
                       ('TEXTCOLOR',(0,0),(1,-1),colors.red)]))
elements.append(t)
# write the document to disk
doc.build(elements)

我终于弄清楚了,所以发布了我自己的答案。您必须考虑负坐标系和正坐标系是完全独立的。正系统从左上角的 [1][1] 开始,并随着向下和向右增加数字。负值系统从 [-1][-1] 开始,随着向上和向左移动而减小(更大的负值)。

在这个例子中,('BACKGROUND',(1,1),(-2,-2),colors.green)这两个坐标,同时使用不同的相对起始位置定义了一个框的左上角和右下角。

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

了解 Python ReportLab 中的表坐标系 的相关文章

  • 将鼠标悬停在 Folium 的弹出窗口中

    用这样一个简单的例子 import folium map 1 folium Map location 45 372 121 6972 zoom start 12 tiles Stamen Terrain folium Marker 45 3
  • SQLAlchemy如何为同一个表定义两个模型

    我有一个表 其中一列是具有两个值的 varchar groupA groupB 当我创建模型时 我想实现两件事 A 组模型 包含 X 数量的相关函数 B 组模型 包含 Y 数量的相关函数 两个模型的功能并不相同 尽管它们代表了same ta
  • 如何在Tensorflow中读取json文件?

    我正在尝试编写一个函数 用于读取张量流中的 json 文件 json 文件具有以下结构 bounding box y 98 5 x 94 0 height 197 width 188 rotation yaw 27 970195770263
  • Tastypie:GET 的身份验证和 POST 的匿名

    我使用 Django Tastypie 来管理我的用户集合 是否可以允许匿名用户在 API 中发布 在某个端点创建新用户时 并限制经过身份验证的用户仅获取自己的用户 而不是所有用户 感谢您的帮助 我发现最简单的事情就是对我正在使用的身份验证
  • 如何从数据存储区刷新 NDB 实体?

    我希望能够在我的代码调用的测试中断言Model put 对于已修改的实体 不幸的是 似乎正在进行一些缓存 例如以下代码 from google appengine ext import ndb class MyModel ndb Model
  • 视频的 EXIF 之类的东西

    有没有从视频文件中获取信息的标准方法 对于图像 我们有 EXIF 数据 可用于获取有关图像文件的日期 时间 大小等信息 我想知道视频是否也有这样的东西 用例是 我有很多用数码相机拍摄的视频 我想将它们重命名为更有意义的名称 例如 YYYY
  • 我可以使用对象(类的实例)作为 Python 中的字典键吗?

    我想使用类实例作为字典键 例如 classinstance class dictionary classinstance hello world Python似乎无法将类作为字典键处理 还是我错了 另外 我可以使用像 classinstan
  • python中matlab find函数的替换

    我正在尝试寻找合适的python函数来替代matlabfind在我的脚本和一些谷歌搜索中我看到np where 大多数时候都能解决目的 但在双重条件的情况下 我有不同的输出 有人可以告诉我这种方法有什么问题以及如何继续吗 示例代码和差异如下
  • 如何使用 Python 从 URL 中删除查询字符串

    Example http example com a text q2 text2 q3 text3 q2 text4 删除后 q2 它将返回 http example com q text q3 text3 在这种情况下 出现了多个 q2
  • 如何向 Iron Python 添加模块?

    我一直在尝试使用 C Visual Studio 执行以下 Python 代码 graphcreater py 我通过 NuGet 包管理器添加了 IronPyton 2 7 7 和 IronPython StdLib 2 7 7 一旦我运
  • 使用 Cython 扩展模块分发共享库和一些 C 代码

    我正在尝试从大型 C 共享库 libbig so 中获取一些函数 并通过 Cython 将它们公开给 Python 为此 我有一个小 C 文件 small cpp 它为我需要的共享库的功能提供了一个薄包装器 从而可以轻松地通过 Cython
  • 无法通过蓝牙读取心率服务

    我希望创建一个简单的 python 脚本 通过蓝牙从 Polar 传感器读取心率数据 我已经阅读了很多其他帖子 但找不到我能够成功执行的简单内容 我有 Polar 可穿戴设备的设备 MAC 地址 我知道我想要读取的值的服务 UUID HR
  • Python Selenium 将内容添加到 pandas 数据帧

    我正在尝试循环list用于抓取内容的邮政编码this url http kadastralekaart com 但我面临着错误 例如TimeoutException and StaleElementReferenceException 我该
  • PySpark:根据与另一列中的字符串匹配的字典值创建新列

    我有一个数据框 A 如下所示 ID SOME CODE TITLE 1 024df3 Large garden in New York New York 2 0ffw34 Small house in dark Detroit Michig
  • Python 中 Javascript 的 reduce()、map() 和 filter() 的等价物是什么?

    Python 的等价物是什么 Javascript function wordParts currentPart lastPart return currentPart lastPart word Che mis try console l
  • 使用 Python for PyQt WebEngine 授予对 Cam & Mic 的访问权限

    我正在构建一个从 Python 调用的简单 Web 应用程序 我正在使用下面的代码 加载此页面时 以编程方式授予对摄像头和麦克风的访问权限的最简单方法是什么 我只在网上找到了 C 示例 无法找到在 Python 代码中执行此操作的方法 fr
  • Python 生成器每次调用都会产生相同的值

    我希望这个生成器生成列表中每个连续值的余弦 但每次都得到相同的值 import math angles range 0 361 3 calculate x coords def calc x angle list for a in angl
  • Numpy 相当于 if/else 不带循环

    有没有任何Pythonic方法可以删除下面代码中的for循环和if else 此代码迭代 NumPy 数组并检查条件并根据条件更改值 gt gt gt import numpy as np gt gt gt x np random rand
  • 从 NumPy、matplotlib 包导入 python 子模块有什么区别[重复]

    这个问题在这里已经有答案了 当我尝试使用时pyplot from matplotlib import matplotlib print matplotlib pyplot just checking 它给了我AttributeError m
  • 命名空间与常规包

    命名空间 Python 包之间有什么区别 没有 init py 和一个常规的Python包 有一个 init py 特别是当 init py普通包裹是空的吗 我很好奇 因为最近我忘记了 init py在我制作的包中 我从未注意到任何问题 事

随机推荐

  • mongodb:我应该在更新时始终使用“安全”选项吗

    在处理 mongodb 时 我什么时候应该在查询中使用 safe true 现在我使用 安全 选项只是为了检查我的查询是否已成功插入或更新 不过 我觉得这可能有点过头了 我是否应该假设 99 的时间 我的查询 假设它们被正确编写 将被插入
  • Photoshop 的 RGB 级别与 ImageMagick

    我正在尝试将 Photoshop 中创建的一些效果转换为与 php imagemagick 一起使用的代码 现在我对如何重新创建 Photoshop 的 RGB 级别功能特别感兴趣 我不太熟悉 Photoshop 界面 但这是我得到的信息
  • 从历史记录中删除合并并重新调整非顺序提交的基础

    我有以下 git 历史记录 我想在其中压缩提交并删除多个合并 git log graph oneline all 80e2fa1 I want to squash this commit 7850013 Merge branch maste
  • findViewById如何初始化视图

    我刚刚为那些被 findViewById 困惑的人写了一个答案 我意识到我的理解存在差距 这个问题只是出于知识和好奇心 考虑一下 button Button findViewById R id button findViewById返回一个
  • MySQL DATE_ADD 不起作用

    我有两列 开始时间和持续时间 我正在尝试计算结束时间 问题是我得到空结果 我已经尝试了几件事 DATE ADD startTime INTERVAL duration MINUTE AS endTime DATE ADD startTime
  • 将 pthread 作为输入并将其挂起的函数

    我正在尝试从 POSIX 中的 ExpressLogic 移植实时 Thread Metric 以便为我的论文对 Linux Xenomai 和 RTAI 的 PREEMPT RT 补丁进行基准测试 他们提供了一个具有以下函数的 C 源文件
  • 使用 Apache .htaccess 限制直接文件访问

    如何限制对每个具有 inc 的文件的直接访问 在文件名中 基本上我这样做是为了指出必须仅包含特定文件 已经使用 Apache 和 mod rewrite 来实现基本的 SEO 目的 这 有点 超出了我的知识范围 希望 htaccess 应该
  • Android Studio 上的省电模式未禁用

    我多次尝试在 Android Studio 1 2 1 1 上禁用省电模式以激活 Code Complete 功能 但没有禁用 我在 Windows 7 上运行工作室 可能是什么问题呢 请有人帮忙 你可以试试这个 您还可以检查文件菜单上的省
  • JavaScript 切换

    我制作了一个 JavaScript 函数来隐藏单击按钮时的链接及其在该函数中的工作 但是当它
  • 在参数数组中传递整数数组

    我正在尝试在 pg promise 的参数数组中传递参数数组 如建议的那样pg promise 文档 https github com vitaly t pg promise wiki Learn by Example passing ar
  • C++奇怪的问题,未定义的引用

    出现错误 neljastest cpp 对 Vector2 Vector2 float float 的未定义引用 内尔贾斯特 cpp include
  • 注入 EntityManager 对比实体管理器工厂

    一个很长的问题 请耐心等待 我们正在使用 Spring JPA 来构建 Web 应用程序 我的团队正在争论注射问题EntityManagerFactory in the GenericDAO APPFUSE 提供的基于 Generics 的
  • 是否可以向凸起按钮添加自定义悬停颜色?

    在处理一个使用 Material UI 组件库的项目时 我收到了一个自定义按钮悬停颜色的请求 该颜色超出了 MUI 主题的正常约定 我在 凸起按钮 源代码中找到了这个相关的代码块 https github com callemall mat
  • Spark SQL 中的 INSERT IF NOT EXISTS ELSE UPDATE

    Spark SQL 中是否有执行 INSERT IF NOT EXISTS ELSE UPDATE 的规定 我有 Spark SQL 表 ABC 其中有一些记录 然后我有另一批记录 我想根据它们是否存在于该表中来插入 更新该表中 我可以在
  • Matplotlib imshow() 翻转 x 和 y 轴

    我在用着pyplot with matplotlib 我想将一些数据显示为图像 当我使用imshow 数据与我想要的查看方式翻转 我如何切换 x 轴和 y 轴imshow 或到numpy在我将其发送到之前的数组imshow 即我希望水平轴是
  • 如何在 Xcode 中的 CALayer 上方制作按钮或标签?

    在我的故事板中 我添加了一个按钮和一个标签 在我的 ViewController 中 我以编程方式定义了一个 CALayer 并将其作为子层添加到 ViewController 的视图中 当我测试应用程序时 子层位于按钮和标签上方 但我想将
  • 无法在 Fedora 上安装 GDB

    如何在 Fedora Linux 机器上下载并安装 GDB GNU 调试器 我尝试从 gnu 网站下载 7 1 包 但在安装过程中失败 configure然后make命令 请分享我可以获得相关信息的来源 Thanks 我发现这个教程可能对安
  • 如何实现一个具有一次读取 4 位节点的二进制 trie?

    我正在尝试找到一种方法inline某种意义上的二进制字典树 基本上 二进制 trie 为二进制数中的每个槽都有一个节点 在 0 上向左分支 在 1 上向右分支 您将如何构造它以便一次读取 4 位而不是 1 似乎每个 trie 节点中有 16
  • 记录 Xamarin 未处理(Android 未捕获)异常

    我想记录未处理的异常 但我看到关于是否以及如何可能实现的信息存在冲突 我了解 Xamarin 提出了AndroidEnvironment UnhandledExceptionRaiser or AppDomain CurrentDomain
  • 了解 Python ReportLab 中的表坐标系

    我无法理解坐标系ReportLab表格样式 根据他们的文档 每个命令的第一个元素是其标识符 第二个和第三个参数确定单元格 受负坐标影响的单元格的坐标 从 Python 索引中的限制值 坐标给出为 列 行 紧随其后 电子表格 A1 模型 但不