小编典典

使用Twiny时,Python Matplotlib图形标题与轴标签重叠

python

我正在尝试使用twiny在同一张图上绘制两个单独的数量,如下所示:

fig = figure()
ax = fig.add_subplot(111)
ax.plot(T, r, 'b-', T, R, 'r-', T, r_geo, 'g-')
ax.set_yscale('log')
ax.annotate('Approx. sea level', xy=(Planet.T_day*1.3,(Planet.R)/1000), xytext=(Planet.T_day*1.3, Planet.R/1000))
ax.annotate('Geostat. orbit', xy=(Planet.T_day*1.3, r_geo[0]), xytext=(Planet.T_day*1.3, r_geo[0]))
ax.set_xlabel('Rotational period (hrs)')
ax.set_ylabel('Orbital radius (km), logarithmic')
ax.set_title('Orbital charts for ' + Planet.N, horizontalalignment='center', verticalalignment='top')


ax2 = ax.twiny()
ax2.plot(v,r,'k-')
ax2.set_xlabel('Linear speed (ms-1)')

show()

并且数据显示的很好,但是我遇到的问题是,图形标题与辅助x轴上的轴标签重叠,因此几乎看不清(我想在此处发布图片示例,但我没有足够高的代表)。

我想知道是否有直接将标题直接移动几十个像素的直接方法,以使图表看起来更漂亮。


阅读 337

收藏
2020-12-20

共1个答案

小编典典

我不确定在更高版本的matplotlib中它是否是一项新功能,但至少对于1.3.1,这很简单:

plt.title(figure_title, y=1.08)

这也适用于plt.suptitle(),但还不适用于plt.xlabel(),等等。

2020-12-20