

**概要**  
csvデータからmatplotlibを使用し、棒グラフを作成しているのですが  
日付形式がdatetimeの型のまま出力されてしまいます。(yyyy-mm-dd hh:ss:mm)  
出力されているデータ自体は問題ないのですが、x軸のラベルだけ修正したいと考えてます。(yyyy/mm/ddに変えたい。)

**試してみたこと**  
csvデータを読み込んで、、とありますが元データはExcel形式となります。  
元データから抽出しているデータはExcel上だと「日付」になっています。  
なので  
1.対象のカラムをto_datetime()でTimestamp→datetimeに変更。  
2.さらにstrftime()を使用しyyyy/mm/dd形式にフォーマット  
上記指定してみたのですが、出力されたグラフのx軸はフォーマットされませんでした。

グラフの描画は今回初めて行うので、ご教示いただけると幸いです。  
よろしくお願いします

**コード**  
<requirements.txt(一部抜粋)>  
matplotlib==3.5.3  
matplotlib-inline==0.1.6  
numpy==1.23.2  
openpyxl==3.0.10  
pandas==1.4.3

[code]

    import pandas as pd
    import matplotlib.pyplot as plt
    import datetime as dt
    from encodings import utf_8
    
    TargetPath = "Excelの絶対パス.xlsx"
    input_file = pd.ExcelFile(TargetPath)
    sheet_names = input_file.sheet_names
    
    #Excel読み込み→csv出力
    for i in range(0,len(sheet_names)):
        data = pd.read_excel(TargetPath,sheet_names[i],header=1,index_col=0,usecols=[6,7])
        data.to_csv(sheet_names[i]+'.csv',index=True, encoding = "shift-jis")
    
    #csv読み込み→dataframe作成
    df = pd.read_csv('出力したcsvの絶対パス.csv',encoding='shift_jis')
    
    #日付をqueryで抽出したデータをcount()で件数取得する。
    df['対応日'] = pd.to_datetime(df['対応日'])
    df['対応日'].dt.strftime('%Y/%m/%d')
    df.set_index('対応日', inplace=True)
    totaling = df.query('"2020-07-01" <= 対応日 <= "2022-07-31"').resample('M').count()
    
    #Windowsで描画するグラフはデフォだと文字化けするので、フォント指定。
    #axisで個別設定して、グラフ描画。
    plt.rcParams['font.family'] = "MS Gothic"
    plt.rcParams["figure.figsize"] = (8,5)
    ax1 = totaling.plot(kind="bar")
    ax1.set_xlabel('集計対象日')
    ax1.set_ylabel('件数')
    ax1.get_legend().remove()
    
    #グラフ出力
    plt.show()
    
    
[/code]


CC BY-SA 4.0
2022-08-28T02:34:22.707
90803
2022-08-28T02:34:22.707
53930
question
python pandas matplotlib
x軸のラベルがdatetimeの日付形式のまま出力されてしまう