如何旋转辅助y轴标签,使其不与y-ticks,matplotlib重叠

时间:2016-01-26 17:47:11

标签: python matplotlib

我正在尝试将我的辅助 y-label 转换为270 degrees,但当我这样做时,传递rotate=270参数会重叠我的 y-tick < / strong>文字。任何想法如何解决这个问题?

fig, ax = plt.subplots()

ax.plot(df.index,df.tripTime,label='Fishing Effort', marker='D')
ax2=ax.twinx()
ax2.plot(tr.index,tr.cost, 'g',label='Fuel Expenditure', marker='d')

lines = ax.get_lines() + ax2.get_lines()
ax.legend(lines,[line.get_label() for line in lines], loc='lower left')
ax.set_ylim((0, 18))

ax2.set_ylabel('Cost ($)',color='g', rotation=270)

for tl in ax2.get_yticklabels():
    tl.set_color('g')

ax.set_ylabel('Fishing Effort (hrs)')
ax.set_xlabel('Time (days)')
plt.show()

enter image description here

1 个答案:

答案 0 :(得分:8)

更新:这个答案不是很好,请看评论!

这看起来像一个错误,您应该将其报告给matplotlib's issue tracker

虽然它已得到修复,但快速解决方案是将标签填充设置为更高的值:

ax2.set_ylabel('Cost ($)', color='g', rotation=270, labelpad=15)

Result