Py学习  »  Python

Python,一个PDF页面中有多个绘图

Tmiskiewicz • 4 年前 • 211 次点击  

我有四个不错的图表,我可以保存为一个PDF文件,但在4页,而不是只有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

我希望我的问题是明确的:)谢谢所有的帮助!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50965
 
211 次点击