它确实确实取决于您想要什么。
当纵横比为自动时,在数据坐标中定义圆的问题是您将能够调整图形(或其窗口)的大小,并且数据比例会很好地拉伸。不幸的是,这也意味着您的圆不再是圆,而是椭圆。
有几种解决方法。首先,最简单地说,您可以固定长宽比,然后在数据坐标上的圆上画一个圆:
import matplotlib.pyplot as pltimport numpy as npfig = plt.figure()ax = plt.axes()ax.set_aspect(1)theta = np.linspace(-np.pi, np.pi, 200)plt.plot(np.sin(theta), np.cos(theta))plt.show()
如果您只想在图形上放置一个独立于数据坐标的圆,这样轴的平移和缩放不会影响圆上的位置和缩放,那么您可以执行以下 *** 作:
import matplotlib.patches as mpatchesimport matplotlib.pyplot as pltimport numpy as npfig = plt.figure()ax = plt.axes()patch = mpatches.Circle((325, 245), 180, alpha=0.5, transform=None)fig.artists.append(patch)plt.show()
这是相当先进的mpl,但即使这样,我也认为它可读性强。
HTH,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)