pad_inches=0 和 bbox_inches="tight" 使绘图小于声明的 Figsize

2023-12-31

我正在制作一个嵌入乳胶中的出版质量的绘图,我希望在大小和字体方面非常精确(以便文章中的字体与绘图中的字体大小相同)。为了防止绘图在乳胶中缩放,我希望它具有精确的尺寸,但我不能。这是我的代码:

import matplotlib.pyplot as plt
from matplotlib import rc, rcParams
from numpy import sin

rc('text', usetex=True)
rc('font', family='serif', serif='Computer Modern Roman', size=8)
rc('legend', fontsize=10)

width_in = 5
fig = plt.figure(1, figsize=(width_in, 2))
ax = fig.add_subplot(111)
ax.plot(range(0,100), sin(range(0,100)))

fig.tight_layout()
fig.savefig('test.eps', bbox_inches='tight', pad_inches=0)
plt.close()

问题在于 bbox_inches='tight' 和 pad_inches=0。添加这些选项使我的绘图宽度为 4.76 英寸,而不是声明的 5 英寸。但我希望他们节省空间。那么如何解决呢?

编辑:嗯,答案建议删除bbox_inches='tight' and pad_inches=0并仅使用tight_layout()。然后图像的大小正确,但周围仍然有一些白色填充。我可以删除它fig.tight_layout(pad=0),但随后图形标题移到了框中,看起来很难看。另一方面我可以使用tight_layout(rect=[...])并获得所需的结果,但要获得正确的数字是一项手动工作 - 我不喜欢它。因此,目前我没有看到任何简单且通用的解决方案来解决我的问题。


你遇到的问题是bbox_inches='tight'只是删除了图形周围的所有额外空白,在渲染后,它实际上并没有重新排列图形中的任何内容。

您可能需要调整传递给的参数tight_layout (tutorial http://matplotlib.org/users/tight_layout_guide.html)以获得您想要的效果。

希望这能为您指明正确的方向。

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

pad_inches=0 和 bbox_inches="tight" 使绘图小于声明的 Figsize 的相关文章

随机推荐

  • C 中的静态数组初始化

    考虑以下陈述 typedef struct int member1 int member2 Custom t void ISR void static Custom t struct1 SOME CONSTANT 如何在 C 编程中将所有
  • 在 R 中读取以多个空格作为分隔符的文本文件

    我有一个大数据集 由大约 94 列和 300 万行组成 该文件具有单个和多个空格作为列之间的分隔符 我需要在 R 中读取该文件中的一些列 为此 我尝试使用 read table 以及可以在下面的代码中看到的选项 代码粘贴在下面 Defini
  • iOS 应用程序中的 Airplay 镜像

    我查看了几个链接并阅读了 Apple 文档 但没有得到任何在外部设备上镜像应用程序内容的分步说明 他们所解释的只是如何在识别到外部屏幕时显示新窗口 在我的应用程序中 我只需要在支持 Airplay 的设备上显示应用程序中显示的当前屏幕 有一
  • bash:expect 可以处理多个密码提示吗?

    我目前正在使用 Expect 来传递密码 这样我的脚本就可以自动运行 而无需我坐下来一遍又一遍地输入相同的密码 重要提示 请不要评论这有多大的安全风险或我应该如何使用 ssh 密钥 如果可以的话我会使用这些密钥 但我必须使用的设置不允许这样
  • 我可以生成自定义编译器错误吗?如果是这样,怎么办?

    这就是我想做的 我有一个项目必须在某些版本的 Delphi 或更高版本中编译 我想使用条件编译器指令来测试 Delphi 版本 然后使用自定义消息生成自定义编译器错误 如果不可能出现错误 能够生成自定义编译器警告或提示也足够了 当然 我可以
  • IIS 7 通过 HTTPS 进行 POST 是否有限制?

    我正在 PHP 中构建一个 Web 服务 用于处理通过 SOAP 请求从 Windows 应用程序接收到的数据 Windows 应用程序有点像黑匣子 但它会生成很长的消息流 然后将它们作为单个 SOAP 请求进行发布 使用 HTTP 可以正
  • 来自 c# 的 PInvoke c++ dll - 尝试加载格式不正确的程序。 (HRESULT 异常:0x8007000B)

    尝试使用 Dll 导入从 C 访问旧的 C DLL 已经在网上搜索了大约4天 但没有成功 我正在尝试使用来自 asp net mvc 3 网站 net 4 的 c dll 我已将平台目标更改为 x86 我已在 iis 中的应用程序池上将 启
  • 在 Xcode 4.5 中,“显示实时问题”不再起作用

    我发现 Xcode 在我编写代码时显示编译器警告非常有用 例如 如果我写了 ldksjfksdj 我希望立即看到一个红色感叹号图标和警告 use of undeclared identifier 但现在使用 Xcode 4 5 我只能在编译
  • 有没有使用 WebDav 的 Dreamweaver 开源替代方案?

    我们希望使用 WebDav 来处理我们的模板 但无法使用 Dreamweaver 有什么建议么 谢谢你 任何文本编辑器都应该在这里完成工作 我推荐崇高文本2 http www sublimetext com 2 or 记事本 http no
  • “AND NOT”运算的正则表达式[重复]

    这个问题在这里已经有答案了 我正在寻找一个通用的正则表达式构造来匹配模式 x 中的所有内容 除了匹配模式 y 之外 这很难完整而简洁地解释 看实质性非暗示 http en wikipedia org wiki Material nonimp
  • JSON 二进制值包含无效数据

    因此 当我运行一个查询 将子查询的结果聚合到包含 JSON 对象的 JSON 数组中时 出现以下错误 The JSON binary value contains invalid data 这适用于 8 0 15 但不适用于 8 0 17
  • 如何测试 double 是否为整数

    是否有可能做到这一点 double variable variable 5 the below should return true since 5 is an int if variable were to equal 5 7 then
  • 如何用python制作一个带有按钮的窗口

    如何创建一个函数来创建一个带有两个按钮的窗口 其中每个按钮都有一个指定的字符串 如果单击 则返回一个指定的变量 类似于此视频中的 3 05https www khanacademy org science computer science
  • 我可以读取 open_memstream() 生成的流吗?

    我通过 open memstream 创建一个流 填充它然后读取 效果很好 但我很困惑函数文档说 open memstream 函数打开一个流以写入缓冲区 但我也能读懂 我是否以正确的方式使用它 也许我可以读取流 因为我的平台中的函数实现允
  • 从 RDBMS 到 Ignite Cache 的快速数据加载

    我有一个内部连接到 RDBMS 的用户界面 从 UI 中 用户可以选择任意数量的表 也可以编写选择查询来获取结果集并将其加载到 Apache Ignite 缓存中 您能否建议示例或 API 以表格式将数据加载到缓存中 您需要使用数据流API
  • 堆栈按预期工作 | z 索引 (CSS) 等效项

    我正在尝试实现此目标 Todo 图像 但图像被隐藏了 怎么把它放到上面呢 我认为使用 Stack 会自动将其置于顶部 有没有等效的 z index 我还分享了下面的代码 Todo 进行中 Code Widget build BuildCon
  • 无法识别的 VM 选项“CMSClassUnloadingEnabledn-J-Xmx2Gn”

    我在 Mac 上安装了 scala sbt 当我尝试运行 sbt 时 出现错误无法识别的 VM 选项 CMSClassUnloadingEnabledn J Xmx2Gn 我认为 JVM 有问题 但找不到针对此错误的任何帮助 更多错误信息
  • 是否可以使用情感生成CSS文件?

    emotion https emotion sh是一个 css in js 库 我看到它创建了
  • name 属性中带有方括号的输入

    我在这个论坛上进行了很多搜索来解决这个问题 但到目前为止还没有成功 我有一个表格有几个
  • pad_inches=0 和 bbox_inches="tight" 使绘图小于声明的 Figsize

    我正在制作一个嵌入乳胶中的出版质量的绘图 我希望在大小和字体方面非常精确 以便文章中的字体与绘图中的字体大小相同 为了防止绘图在乳胶中缩放 我希望它具有精确的尺寸 但我不能 这是我的代码 import matplotlib pyplot a