格式化pyplot主要和次要标签与轴的距离

时间:2015-09-26 10:53:28

标签: python matplotlib

我正在datetime xaxismatplotlib上绘制一些pyplot个对象。  但是有一些小的文本重叠。

我想将 xaxis.major_locator() 稍微移到页面底部。

正如您在我的图像中注意到的那样,09/27与00重叠了00。 我想消除它。

graph output

这是我目前的代码。

daysfmt = DateFormatter("%m/%d")
hourfmt = DateFormatter("%H")
ax.plot_date(x,y, label=ptforruc.getSource(),fmt='-')
ax.xaxis.set_major_locator(days)
ax.xaxis.set_major_formatter(daysfmt)
ax.xaxis.set_minor_locator(hours)
ax.xaxis.set_minor_formatter(hourfmt)
ax.autoscale_view()
x = ptforeta.getDates()
y = ptforeta.getValues()
plt.plot_date(x,y,label=ptforeta.getSource(),fmt='-')
fig.autofmt_xdate()
plt.legend(bbox_to_anchor=(1.05,1),loc=2,borderaxespad=0.)


plt.show()

1 个答案:

答案 0 :(得分:2)

这将帮助您按照自己的意愿实现:

for tick in ax.xaxis.get_major_ticks():
    tick.tick1line.set_markersize( 0 )
    tick.tick2line.set_markersize( 0 )
    # ------------------------------------------------
    # a demonstrator code, not a production one
    # -------------------
    tick.label1.set_horizontalalignment( 'center' )
    tick.set_pad( 2.5 * tick.get_pad() )