matplotlib极坐标图set_ylabel在左侧

时间:2014-05-01 19:41:24

标签: python matplotlib label polar-coordinates

我想在极坐标图的左侧写ylabel,就像在非极坐标图中那样。这是我的代码:

import matplotlib.pyplot
axes=matplotlib.pyplot.figure().add_subplot(1,1,1,polar=True,frameon=False)
import numpy
x=numpy.linspace(0,12*numpy.pi,2000)
axes.plot(x,numpy.exp(numpy.cos(x))-2*numpy.cos(4*x)+numpy.sin(x/12)**5,color="black")
axes.set_xlabel("y")
axes.set_ylabel("$P_y$")
axes.set_xticklabels([])
axes.set_yticklabels([])
axes.grid(False)
import matplotlib.backends.backend_pdf
output=matplotlib.backends.backend_pdf.PdfPages("butterfly.pdf")
output.savefig()
output.close()

我得到的结果如下: enter image description here

但是,我不喜欢图片中间的P_y,我希望它回到左侧,就像这样:

enter image description here

我只想将ylabel改为左侧,其他细节可以忽略这两张图片的区别。我尝试使用:

axes.set_ylabel("$P_y$",position=(0,0.5),transform=axes.transAxes)

但是没有帮助。

谢谢

1 个答案:

答案 0 :(得分:2)

它由极坐标图中的axes.yaxis.labelpad属性控制。您可以将其设置为正数以将标签移动到左侧,例如120

enter image description here