2つの異なるY軸を使用して2つのグラフを同じ図にプロットしたいとします。それに加えて、私はグリッドを追加し、PDFとしてプロットを保存したいと思います。グリッド使用時の主軸は表示されません
私の問題は、グリッドが正しく描画されている間に、主軸はもう表示されません。どのようにプロットすることもできますか?私はmatplotlib 1.5.1
とPython 2.7.11
を使用しています。ここで
そして、ここで私が使用していたコードです:
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages('myplot.pdf')
x = np.linspace(0.1, 10, 100)
y1 = np.exp(x)
y2 = np.log(x)
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(x, y1, '-ro', markersize=5, label='y1')
ax1.set_ylim(-0.1, 1.1 * max(y1))
ax1.set_ylabel('y1', fontsize=20)
ax1.legend(loc='upper left')
ax1.grid(ls='dotted', c='k')
ax1.patch.set_facecolor('white')
ax2 = ax1.twinx()
ax2.grid(False)
ax2.plot(x, y2, 'b-', label='y2')
ax2.set_ylim(-0.1, 1.1 * max(y2))
ax2.set_ylabel('y2', fontsize=20)
ax2.legend(loc='upper right')
plt.xlim([-0.5, 1.05 * max(x)])
ax1.set_xlabel('x', fontsize=20)
pp.savefig(fig)
pp.close()
plt.close(fig)
それは私のために働く...(Python 3.4.4 mac OS)が、 'RuntimeWarning:logで遭遇したゼロで除算 'を投げる –
@ReblochonMasque:まったく同じコードを使用していますか?あなたが得るプロットは私と違って見える? RunTimeWarningは 'log(0)'が計算された(私はそれを変更した)ために表示されます。 – Cleb
はい、キャンバスの周りに軸とフレームが表示されます。私は2番目にpngを投稿します。 –