【问题标题】:python - best way to add a long text below plots and save this into a pdfpython - 在绘图下方添加长文本并将其保存为 pdf 的最佳方法
【发布时间】:2021-10-20 21:36:45
【问题描述】:

我有大量照片,其中我在每张照片中检测到多个对象。我想创建一个 pdf,包括所有照片和已识别对象的名称,写在每张照片的下方(而不是内部)。由于有很多照片有很多对象,我无法将其写在照片中或使用图例/轴名称来包含它们。对于这个问题,你会建议什么作为 python 或其他语言的最佳方法/库?

【问题讨论】:

  • matplotlib 中的 text 函数能满足您的需求吗?
  • 我认为使用 matplotlib 我只能将文本放在绘图或图例中或作为轴值。我想生成一个图像,其中在绘图下方写了几行文本。

标签: python matplotlib plot computer-vision


【解决方案1】:

@Entropie_13,这里只是用一个例子来解决你的评论。您可以使用 matplotlib 中的 textfunction 将任意长度的文本放在图上所需的任何位置。下面是一个在图的每一侧都有文本的示例。

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure()
N_points=10
x=np.arange(N_points)
y=np.arange(N_points)
plt.plot(x,y)
plt.xlabel('x-axis')
plt.ylabel('y-axis')
text_example='Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. \n Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\n Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
plt.text(-3,-8,text_example)
plt.text(-25,3.5,text_example)
plt.text(-3,16,text_example)
plt.text(25,3.5,text_example)
plt.savefig('fig_caption.pdf')

代码将图形保存为pdf,输出如下:

【讨论】:

  • 感谢您的努力。由于我想自动将具有不同长度/行数的文本放在不同的图下方,我试图弄清楚 plt.text 中的行数和位置参数之间的关系,但是使用类似 plt.text(-3, -constant - len(text_example), `text_example 的东西非常困难。你知道我该怎么做,所以文字不会意外覆盖情节或太远吗?
猜你喜欢
  • 2017-12-05
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
  • 2018-09-01
  • 2011-11-13
  • 2015-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多