# FEB
# configuring the figure and plot space
fig, lx = plt.subplots(figsize=(30,10))
# converting the Series into str so the data can be plotted
wd = df2['Unnamed: 1']
wd = wd.astype(float)
# adding the x and y axes' values
lx.plot(list(df2.index.values), wd)
# defining what the labels will be
lx.set(xlabel='Day', ylabel='Weight', title='Daily Weight February 2022')
# defining the date format
date_format = DateFormatter('%m-%d')
lx.xaxis.set_major_formatter(date_format)
lx.xaxis.set_minor_locator(mdates.WeekdayLocator(interval=1))
我希望x轴具有的值:
〔二月四日、二月五日、二月六日、二月七日、二月八日、二月九日、二月十日、二月十一日、二月十二日、二月十三日、二月十四日、二月十五日、二月十六日、二月十七日、二月十八日、二月十九日、二月二十日、二月二十一日、二月二十二日、“第二届会议”、“第二届会议24”、“第二届会议25”、“第二届会议26”、“第二届会议27”]
x轴上的值:
enter image description here
它给了我正确的值的数量,但没有正确的标签。我试着用xlim=['2/4','2/27]指定开始和结束,但是看起来确实有效。
2条答案
按热度按时间piv4azn71#
如果能看到您的
df2
的实际外观,那就太好了,但是从您的代码片段来看,它似乎记录了权重,但没有记录相应的日期。准备一个有日期的数据框怎么样?
(Also,因为这个问题也使用了
seaborn
标记,所以我将使用Seaborn,但同样的想法应该可以工作。)创建一个索引,从2月4日开始,记录体重的天数。
然后使用Seaborn's object interface(v0.12+),我们可以:
gcuhipw92#
我已经解决了这个问题。非常简单。我只是在set_major_formatter中添加了mdates.WeekdayLocator()。我在浏览matplotlib文档时忽略了这一点。但很高兴找到了这个解决方案。