【问题标题】:Python: Create pdf figure from individual pdf figures based on their name; MatplotlibPython:根据名称从单个 pdf 图形创建 pdf 图形; Matplotlib
【发布时间】:2018-03-06 08:11:00
【问题描述】:

我正在尝试从许多单独的 pdf 图形中创建一个 pdf 图形。我正在将许多单个 pdf 图(图表)生成到一个文件夹中。我需要一种方法来在一个图形中查看它们(一个带有许多图形的 pdf 文档)。我生成的 pdf 文件的名称基于两个参数。例如,文件可以命名为:

red_1.pdf
red_5.pdf
red_10.pdf
blue_1.pdf
blue_5.pdf
blue_10.pdf
orange_1.pdf
orange_5.pdf
orange_10.pdf

我想要一个 pdf 图形,将这些 pdf 图形绘制为 2 轴图表(根据名称中的参数定位的图形网格)。我的文件名示例有颜色和数字,我希望图形在一个轴上有颜色,在另一个轴上有数字。所有的 pdf 苍蝇都具有相同的尺寸。有任何想法吗?

谢谢大家,

【问题讨论】:

    标签: python pdf matplotlib plot


    【解决方案1】:

    我不确定如何创建 pdf。但是以下内容应该写入文本文件,您只需添加将结果打印到 pdf 的部分。

    import os
    import matplotlib.pyplot as plt
    
    files = os.listdir()
    pdf_files = [i for i in files if i.endswith('.pdf')]
    #pdf_files = [ 'orange_3.pdf','blue_4.pdf','green_10.pdf']
    
    color,nr = [],[]
    
    for fn in pdf_files:
        color += [fn.split('_')[0]]
        nr += fn.split('_')[1].strip('.pdf')
    
    nms = range(len(color))
    f = plt.figure()
    plt.xticks(nms,color)
    plt.scatter(color,nms)
    plt.show()
    f.savefig('fn.pdf')
    

    【讨论】:

    • 我刚刚意识到我可能误解了你的意思。让我再更新一次!
    • 它没有用。我收到以下错误消息:“ValueError:无法将字符串转换为浮点数:红色”。感谢您的尝试。 “红色”指的是 pdf 名称的第一个组成部分。
    • 嗯,pdf_files 是 pdf 文件列表,就像注释行一样?
    • 是的。我确认“pdf_files”是我的 pdf 文件名列表
    • ['e1q_1000.pdf', 'e1q_10000.pdf', 'e1q_2000.pdf', 'e1q_5000.pdf', 'e2q_1000.pdf', 'e2q_10000.pdf', 'e2q_2000.pdf' , 'e2q_5000.pdf', 'e3q_1000.pdf', 'e3q_10000.pdf', 'e3q_2000.pdf', 'e3q_5000.pdf']
    猜你喜欢
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多