私はこの簡単なコードを持っています:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
from matplotlib.patches import Ellipse
PlotFileName="test.pdf"
pdf = PdfPages(PlotFileName)
fig=plt.figure(1)
ax1=fig.add_subplot(111)
plt.xlim([0,10])
plt.ylim([0,10])
ax1.plot([0,10],[0,10])
e=0.0
theta=0
maj_ax=2
min_ax=maj_ax*np.sqrt(1-e**2)
const=1
ax1.add_artist(Ellipse((5, 5), maj_ax, const*min_ax, angle=theta, facecolor="green", edgecolor="black",zorder=2, alpha=0.5))
plt.grid()
pdf.savefig(fig)
pdf.close()
plt.close()
これがどのように見えるかです:
コードからわかるように、円である必要がありますが、そうではありません。const
問題を16 行目の用語に絞り込みました。ax1.axis("equal")
データの縦と横の縮尺が同じでないため、使用したくありません。const
最後に円ができるように用語を正しく設定できるように、使用しているアスペクト比をmatplotlibに教えてもらう方法を誰か教えてもらえますか?
つまり、横軸と縦軸の「物理的な」長さの比率 (たとえば、出力されるもの) を知りたいのです。
事前に感謝します。