如何使xtick等距,而不考虑其价值?

2024-05-14 01:24:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着将样本中测量的污染物随时间变化的曲线图,一些样本日期更接近。如何用当前的datetime值绘制这条线,但使每个xtick等距

这就是我目前所得到的,当样本被取得更近的时候,蜱虫就聚集在一起了

date = df_TCE.SAMPLEDATE.unique()

date_IA14 = df_TCE.SAMPLEDATE[df_TCE.SYS_LOC_CODE == 'IA-14']

IA14 = df_TCE.AL_RESULT_VALUE[df_TCE.SYS_LOC_CODE == 'IA-14']

plt.plot(date_IA14, IA14)

plt.title('TCE Time Series')
plt.xlabel('Date')
plt.ylabel('Contaminant Level')
ax = plt.subplot()
ax.set_xticks(date_IA14)
ax.set_yticks([1, 2, 3, 4, 5, 6, 7])
ax.set_facecolor('seashell')

plt.show()

这是一组记号的输出:

^{}


Tags: dfdatesys时间codepltaxloc
1条回答
网友
1楼 · 发布于 2024-05-14 01:24:34

有几件事你可以试试

首先,通过运行pandas.to_datetime(df_TCE.SAMPLEDATE),确保名为SAMPLEDATE的数据帧系列是datetime对象。解决出现的任何解析错误,以便真正处理的是日期时间x轴而不是字符串

然后,检查fig.autofmt_xdate()而不是ax.set_xticks(date_IA14)。一旦x轴被合适的datetime对象填满,matplotlib就足够聪明了,可以让我们获得合理的xtick间距

如果您不喜欢默认值,请查看matplotlib.dates.DayLocator()或HourLocator()或MonthLocator(),任何满足您的常规间隔需要的内容。可以将其应用于axes对象,如下所示: ax.xaxis.set_major_locator(matplotlib.dates.DayLocator())

https://matplotlib.org/3.1.1/api/dates_api.html#matplotlib.dates.DayLocator

相关问题 更多 >