- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想创建一个 python 程序,能够将多个图形绘制到一个 PDF 文件中,但是子图的数量是可变的。我已经在每页一个图上做到了这一点。然而,由于我有一些大约 100 个图,需要大量滚动,并且没有真正清晰地显示。因此我希望每页有 5X4 个子图。我已经为此编写了代码,整个代码很长,而且由于我对 pyhton 很陌生,对于知道该怎么做的人来说,它看起来很糟糕,但是绘图部分如下所示:
rows = (len(tags))/5
fig = plt.figure()
count = 0
for keyInTags in tags:
count = count + 1
ax = fig.add_subplot(int(rows), 5, count)
ax.set_title("cell" + keyInTags)
ax.plot(x, y_green, color='k')
ax.plot(x, y_red, color='k')
plt.subplots_adjust(hspace=0.5, wspace=0.3)
pdf.savefig(fig)
这个想法是我得到一个 PDF,其中绘制了所有“细胞”(用于生物研究)。到目前为止,我编写的代码运行良好,但是如果我有超过 4 行的子图,我想做一个“pageprake”。在某些情况下,一页上的行数超过 21 行,这使得我无法看到任何内容。
那么,是否有解决方案,例如告诉 Python 在 4 行后进行分页?在 21 行的情况下,我喜欢有 6 个页面,其中有漂亮的可见图。或者是通过绘制 5x4 绘图然后以某种方式迭代文件来完成的?如果有人能提供一点帮助或给出提示,我会非常高兴。我坐在这里 4 个小时了,没有找到解决方案。
最佳答案
您可以找出需要多少页(npages
)并为每页创建一个新数字。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
tags = ["".join(np.random.choice(list("ABCDEFG123"), size=5)) for _ in range(53)]
N = len(tags) # number of subplots
nrows = 5 # number of rows per page
ncols = 4 # number of columns per page
# calculate number of pages needed
npages = N // (nrows*ncols)
if N % (nrows*ncols) > 0:
npages += 1
pdf = PdfPages('out2.pdf')
for page in range(npages):
fig = plt.figure(figsize=(8,11))
for i in range(min(nrows*ncols, N-page*(nrows*ncols))):
# Your plot here
count = page*ncols*nrows+i
ax = fig.add_subplot(nrows, ncols, i+1)
ax.set_title(f"{count} - {tags[count]}")
ax.plot(np.cumsum(np.random.randn(33)))
# end of plotting
fig.tight_layout()
pdf.savefig(fig)
pdf.close()
plt.show()
或者您可以循环标签本身并在需要时创建一个新图形:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
tags = ["".join(np.random.choice(list("ABCDEFG123"), size=5)) for _ in range(53)]
nrows = 5 # number of rows per page
ncols = 4 # number of columns per page
pdf = PdfPages('out2.pdf')
for i, tag in enumerate(tags):
j = i % (nrows*ncols)
if j == 0:
fig = plt.figure(figsize=(8,11))
ax = fig.add_subplot(nrows, ncols,j+1)
ax.set_title(f"{i} - {tags[i]}")
ax.plot(np.cumsum(np.random.randn(33)))
# end of plotting
if j == (nrows*ncols)-1 or i == len(tags)-1:
fig.tight_layout()
pdf.savefig(fig)
pdf.close()
plt.show()
关于python - 子图中的分页符? Matplotlib 多页子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57754419/
扩展 SVG 标准以支持多个页面(又名 pageSet)的状态如何? 我看到几年前 SVG 1.2 和 SVG Print 计划慢慢停止,所以我想知道是否有人有关于 SVG future 功能的最新信
我是 PHP 的新手,在插入多个页面时使用 FPDI 有点困难。 我有一个包含 3 页的 .pdf 文件。我最终将第 1 页保存为第 3 页中的一个单独页面,并且与我的代码一起使用,但那是因为我的代码
有没有支持多页的 jQuery 画廊?我的问题是,每个页面包含不同数量的图像。我正在使用 Lightbox 2,但我看不到任何方法来配置多页画廊。我可以创建 5-6 个静态 HTML 页面,一页可以包
我正在开始使用 scrapy。我的 items.py 包含: class ParkerItem(scrapy.Item): account = scrapy.Field() m = s
我编写了一个代码来将单个 tiff 文件合并为多页 tiff。但输出最后带有空白页。如果输入文件是黑白的,但对于彩色的 .tiff 文件,代码工作正常。例如,如果我提供 100 个文件,作为输入输出,
我对 UIScrollView 中的 UITableView 有疑问。 情况是这样的: 我有一个 ListViewController,它在 UITableView 中显示一些事件。如果用户点击一个事
我想创建一个用于更改页面的按钮。我的问题是,我有一个我以前写的代码,但它不是我想要的那样工作。 代码如下: function loadingPage() { $(function () {
我希望对 1 个页面上的元素进行样式设置,并且不影响另一个页面上的相同元素。 我在每个元素上都有 class="homepage"。 有更好的方法吗? 为简单起见,这里是该页面上的 DIV。 h1.h
这是 jQuery 代码 $("#register-form").submit(function (e) { e.preventDefault(); }).validate({ rul
我的简单移动应用程序有 3 个页面,全部用 divs/data-role="page" 划分,并且位于同一文档 (.html) 中。页面加载完美,但如果我导航到第二页,按钮上的一个非常简单的单击事件将
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我是 python 新手。我目前正在研究网络抓取。任务是抓取戴尔社区 Inspiron 问题的前 5 页。我有运行并返回我需要的信息的代码。但是,我无法仅获取文本。我当前的代码返回文本 + html。
我目前正在为我已经完成的 m.file 开发一个 GUI。 GUI 将是一个具有多个页面的页面,每个页面都是一个独立的 GUI。 在主 GUI 上,用户将在具有 2 个选项的单选按钮组上进行选择。根据
我需要从我的程序中保存多页 TIFF,但它似乎是 Qt doesn't support multipage TIFF .尽管如此,我还是需要这样做。从我的程序开始执行此操作的最佳方法是什么? 到目前为
我遇到了尝试将几个多页 html 文件与 jquery mobile 链接的问题,发现使用 ajax 时,jquery mobile 不会显示完整文档,而是第一页。 我查找了问题并找到了 todd t
我是桌面应用程序开发的新手,有一个非常基本的问题。我有一个名为 MainWindow 的 WPF 窗体,我应该如何在上面设置多个页面,例如“用户管理”、“管理内容”等。 我想我有以下选择: 使用多种形
我看到了一些关于多页 tiff 的问题和一些关于压缩的问题,但没有(我看到的)将两者联系起来。 This question和我见过的一样近,让我非常接近,所以我希望如此。我进入了提到的 Oracle
我正在尝试建立一个简单的多页表单,使用 session 稍后存储在数据库中的多个表中。 然而,我似乎遇到了问题。虽然最后一页的值被发布到数据库,但 session 变量却没有。 请记住.. 我和我的项
我正在尝试构建一个多页面 Dash 应用程序。当我运行以下代码时,一切正常,除了它不会路由到我的/dash_1 或/dash_2 url。想知道是否有人可以帮助我。 我的结构是这样的: 破折号项目/
search_1=raw_input('search criteria 1? ') search_2=raw_input('search criteria 2? ') br = mechanize.B
我是一名优秀的程序员,十分优秀!