Python-x轴标签未与记号对齐
我已经成功地创建了生成一系列图表的代码。但是,x轴标签与x轴刻度线略微偏移(向左) 数据帧Python-x轴标签未与记号对齐,python,pandas,matplotlib,Python,Pandas,Matplotlib,我已经成功地创建了生成一系列图表的代码。但是,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
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文档中的示例。谢谢。这就解决了问题。我不确定为什么会发生这种情况,尽管由于您的代码不完整(),我没有将x-tick标签设置为right(),因此无法找到。问题@ImportanceOfBeingErnest中添加了一小部分数据帧。这似乎只有在使用group.plot()时才会发生。是的,这是因为熊猫稍微操纵了滴答声参数。您可以使用
plt.setp(ax1.getxticklabels(),ha=“center”)
再次将它们居中。