我已经成功地创建了代码来生成一堆图表。但是,x 轴标签与 x 轴刻度线稍微偏移(向左)。
数据框
stationId date variable value prefix uom
0 site 1 2016-04-07 pH 6.90 NaN pH
1 site 1 2016-07-11 pH 6.80 NaN pH
2 site 1 2017-10-09 pH 6.80 NaN pH
3 site 1 2017-10-09 pH 6.80 NaN pH
4 site 1 2016-06-29 pH 6.79 NaN pH
完整数据框在这里
代码中没有任何内容让我明白为什么会发生这种情况。
#plot
for line,group in linedf.groupby(['variable']):
x = group['date']
ax1 = group.plot(x='date', figsize=(8.2,4.5),linestyle='--',
linewidth=0.75,rot=0,marker='o',markersize=3)
#set axis labels and chart title
plt.title("chartTitle", fontsize=12)
ax1.set_xlabel('Date', fontsize=10)
ax1.set_ylabel('GWL (mAHD)',fontsize=10)
#set text font
rcParams['font.family'] = 'serif'
rcParams['font.serif'] = ['Cambria']
#set dates for x tick labels
years = mdates.YearLocator() # every year
months = mdates.MonthLocator() # every month
yearsFmt = mdates.DateFormatter('%Y')
lgd = plt.legend(bbox_to_anchor=(0.0 ,-0.13, 1.0, -0.03),
loc=2,ncol = 6, mode="expand", borderaxespad=0.0,shadow=True)
plt.show()
在没有看到您正在使用的数据帧(或至少是其中的一部分)的情况下,我必须进行一些推测,但只需使用手动调整刻度标签的对齐方式就足够了
for tick in ax1.xaxis.get_major_ticks():
tick.label1.set_horizontalalignment('center')
如果没有数据框,我无法测试以确保这在您的情况下有效,但是从问题中的情节看来,x-tick 标签的对齐方式已设置为'right'
并将它们设置为'center'
将按照您的意愿对齐它们。
从matplotlib 文档中居中的刻度标签示例中绘制。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句