Python,多个打印到一个PDF页面中

2024-05-16 10:55:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有四个漂亮的图表,我可以保存为PDF文件,但在4页而不是只有2页。我有2张公司财务数据的图表和2张股票价格的图表。我想有一个一页的PDF格式的财务日期和股票价格。当然,在第二页,我需要的是同样的结果,但对于下一家公司。在

下面是我的代码

with PdfPages('multipage_pdf.pdf') as pdf:

    fig1, ax = plt.subplots()
    index = np.arange(n_groups)
    bar_width = 0.35
    opacity = 0.8

    rects1 = plt.bar(index, z, bar_width,
                 alpha=opacity,
                 color='b',
                 label='Zysk_(strata)_netto')

    rects2 = plt.bar(index + bar_width, v, bar_width,
                 alpha=opacity,
                 color='g',
                 label='Zysk_(strata)_działal_oper')

    rects3 = plt.bar(index + bar_width + bar_width, b, bar_width,
                 alpha=opacity,
                 color='y',
                 label='EBITDA')

    plt.xlabel('Kwartaly')
    plt.ylabel('PLN')
    plt.title(companys_to_chart[0])
    plt.xticks(index + bar_width, x)
    plt.legend()
    ax.grid(True)

    plt.tight_layout()
    pdf.savefig()
    plt.close()

    x = company['Date']
    y = company['Close']

    x1 = WIG['Date']
    y1 = WIG['Close']

    fig2, ax = plt.subplots()
    ax.plot(x,y,label='Price')
    ax.set_ylabel("PLN")
    ax.set_xlabel("Date")


    ax2 = ax.twinx()
    ax2.plot(x1,y1, 'y-', label='WIG')

    myFmt = DateFormatter("%d-%m-%y")
    ax.xaxis.set_major_formatter(myFmt)

    fig2.autofmt_xdate()

    plt.ylabel('Points',size=10)
    plt.title(name_of_company)
    ax.grid(True)

    fig2.legend(bbox_to_anchor=(0.85, 0.35))

    pdf.savefig()
    plt.close()

##############################################################################
    x_1 = company_2['Kwartal']
    z_1 = company_2['Zysk_(strata)_netto']
    v_1 = company_2['Zysk_(strata)_działal_oper']
    b_1 = company_2['EBITDA']

    fig, ax = plt.subplots()
    index = np.arange(n_groups)
    bar_width = 0.35
    opacity = 0.8

    rects1 = plt.bar(index, z_1, bar_width,
                 alpha=opacity,
                 color='b',
                 label='Zysk_(strata)_netto')

    rects2 = plt.bar(index + bar_width, v_1, bar_width,
                 alpha=opacity,
                 color='g',
                 label='Zysk_(strata)_działal_oper')

    rects3 = plt.bar(index + bar_width + bar_width, b_1, bar_width,
                 alpha=opacity,
                 color='y',
                 label='EBITDA')

    plt.xlabel('Kwartaly')
    plt.ylabel('PLN')
    plt.title(companys_to_chart[1])
    plt.xticks(index + bar_width, x)
    plt.legend()
    ax.grid(True)

    plt.tight_layout()

    pdf.savefig()
    plt.close()

    x = company['Date']
    y = company['Close']

    x1 = WIG['Date']
    y1 = WIG['Close']

    fig, ax = plt.subplots()
    ax.plot(x,y,label='Price')
    ax.set_ylabel("PLN")
    ax.set_xlabel("Date")


    ax2 = ax.twinx()
    ax2.plot(x1,y1, 'y-', label='WIG')

    myFmt = DateFormatter("%d-%m-%y")
    ax.xaxis.set_major_formatter(myFmt)

    fig.autofmt_xdate()

    plt.ylabel('Points',size=10)
    plt.title(name_of_company_1)
    ax.grid(True)

    fig.legend(bbox_to_anchor=(0.85, 0.35))

    pdf.savefig()
    plt.close()

最后我有一个4页,而不是2页,我正在寻找的结果像下面的PDF。 enter image description here

我希望我的问题是清楚的:)谢谢所有的帮助!在


Tags: alphadateindexpdfbarpltaxwidth