私は遊んでいるCOVIDからのデータベースを持っています。YYYY-MM-DDの形式で情報があり、棒グラフで日数とケース数をプロットしています。私のグラフでは、日は月として表示されますが、7日ごとの軸が必要です。datetime64形式をMM-DDに変換して、グラフをプロットする必要がありますか?
これは私がプロットするために使用しているコードです:
fig, ax = plt.subplots(figsize=(15,7))
ax.bar(x0, y0, color='green')
ax.set(xlabel = 'Data da notificação',
ylabel = 'Casos novos')
plt.setp(ax.get_xticklabels(), rotation = 45)
plt.show()
そして、これは結果のグラフです:
これは私が欲しいグラフです:
サンプルデータ:https://docs.google.com/spreadsheets/d/1q4Njy0mGMtIeEABdaFrzNEMSavjpXtlUn8BM8z_QZBk/edit?usp = shareing
のようMM-DD
にfmt
フォーマットするには、フォーマット用のstrftimeフォーマット文字列を受け入れる引数を指定できます。これはDateFormatter
。の必須引数です。
にinterval
引数を指定することもできますDateLocator
。たとえばinterval=7
、ロケーターは7日ごとにティックを配置します。
import datetime
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
df = pd.read_csv("1.csv", delim_whitespace=True)
df['data'] = pd.to_datetime(df['data'], format='%m/%d/%Y')
fig, ax = plt.subplots(figsize=(10, 6))
ax.bar(df['data'], df['casosNovos'])
ax.xaxis.set_major_locator(mdates.DayLocator(interval=7))
ax.xaxis.set_major_formatter(mdates.DateFormatter(fmt='%m%d'))
ax.set_xlim(df['data'].min(), datetime.date(2020, 8, 21))
plt.setp(ax.get_xticklabels(), rotation = 45)
plt.show()
1.csv
のように見えます
regiao data casosNovos
Brasil 2/25/2020 0
Brasil 2/26/2020 1
Brasil 2/27/2020 0
Brasil 2/28/2020 0
Brasil 2/29/2020 1
Brasil 3/1/2020 0
Brasil 3/2/2020 0
Brasil 3/3/2020 0
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加