gpt4 book ai didi

python - 以月为单位绘制 x 轴

转载 作者:行者123 更新时间:2023-12-04 09:36:27 24 4
gpt4 key购买 nike

我有一个数据框,想以月为单位绘制它,x 轴以日-月格式标记,但它显示错误。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from matplotlib.dates import DateFormatter
%matplotlib inline

#import dataframe
d = {'values': [10, 5,2,1,4,5], 'dates': ['2013-10-09', '2013-11-20','2013-12-31','2014-01-25','2014-02-25','2014-03-25']}
df = pd.DataFrame(data=d)
df = df.set_index('dates')

#plot

fig, ax = df['values'].plot(figsize=(16,8))

ax.set(xlabel="Date",
ylabel="Value")

date_form = DateFormatter("%d-%m")

ax.xaxis.set_major_formatter(date_form)

plt.show()
enter image description here
我希望 x 轴采用“日-月”格式

最佳答案

您的代码中有两件事:

  • 您的索引是字符串索引,而不是日期时间
  • df.plot返回单个轴实例,您无法将其解压缩为 fig, ax

  • 也就是说,这应该有效:
    # convert index to datetime
    df.index=pd.to_datetime(df.index)

    # plot, return only axis instance
    ax = df['values'].plot(figsize=(16,8))

    ax.set(xlabel="Date",
    ylabel="Value")

    date_form = DateFormatter("%d-%m")

    ax.xaxis.set_major_formatter(date_form)

    plt.show()
    输出:
    enter image description here

    关于python - 以月为单位绘制 x 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62558813/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com