在一个图中绘制一些东西,以后再用于另一个图中

在一个图中绘制一些东西,以后再用于另一个图中,第1张

在一个图中绘制一些东西,以后再用于另一个图中

在matplotlib中,轴(子图)始终只是一个图形的一部分。虽然可以选择将轴从一个图形复制到另一个图形,但这是一个相当复杂的过程。相反,您可以根据需要在多个图中简单地重新创建绘图。使用一个函数,该函数将要绘制的轴作为参数,这使 *** 作变得很简单。

为了将所有三个数字保存为pdf,您可以使用

pdfPages
代码底部所示的格式。

import numpy as npimport matplotlib.pyplot as pltdef f(t):    return np.exp(-t)*np.cos(2*np.pi*t)+(t/10)**2.t1=np.arange(0.0,5.0,0.1)t2=np.arange(0.0,5.0,0.02)def plot(ax, i):    ax.set_title('Jon Snow')    kraft_plot,=ax.plot(t1,np.sin(t1),color='purple')    tyrion=ax.axvline(2,color='darkgreen',ls='dashed')    ax.set_ylabel('Kraft [N]',color='purple',fontweight='bold')    ax.set_xlabel('Zeit [s]',fontweight='bold')    ax2=ax.twinx()    strecke_plot,=ax2.plot(t2,t2/5,color='grey',label='Verlauf der Strecke')    ax2.set_ylabel('Strecke [mm]',color='grey',fontweight='bold')    ax.legend((kraft_plot,tyrion,strecke_plot),('Jonny','Dwarf','andalltherest'),loc=2)figures=[]for i in range(2):    fig= plt.figure(i)    ax1=fig.add_subplot(111)    plot(ax1, i)    figures.append(fig)# create third figurefig, (ax1,ax2) = plt.subplots(nrows=2)plot(ax1, 0)plot(ax2, 1)figures.append(fig)from matplotlib.backends.backend_pdf import PdfPageswith PdfPages('multipage_pdf.pdf') as pdf:    for fig in figures:        pdf.savefig(fig)plt.show()

三页pdf输出:



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5431495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存