【发布时间】:2013-09-24 15:42:57
【问题描述】:
我想在用 pyplot 绘制的图中画一个圆圈,但我需要在 x 轴上使用对数刻度。
我愿意:
ax = plt.axes()
point1 = plt.Circle((x,y), x, color='r',clip_on=False,
transform = ax.transAxes, alpha = .5)
plt.xscale('log')
current_fig = plt.gcf()
current_fig.gca().add_artist(point1)
如您所见,我希望圆的半径等于 x 坐标。
我的问题是,如果我使用,就像这里写的那样,transAxes,那么我得到的圆实际上是一个圆(否则它会在 x 上拉伸,看起来像一个被切成两半的椭圆),但是 x坐标为 0。另一方面,如果我使用 transData 而不是 transAxes,那么我会得到正确的 x 坐标值,但圆会再次被拉伸并切成两半。
我不介意拉伸,但我不喜欢切割,我希望它至少是一个完整的椭圆。
知道如何获得我想要的吗?
【问题讨论】:
标签: matplotlib geometry logarithm