gt05063
@gt05063

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

毎年クリスマスの最高気温と最低気温をplotとboxplotで表示

解決したいこと

大阪の1907年10月01日から現在までの毎年クリスマスの最高気温と最低気温をplotとboxplotで表示する。

jupyter Notebookを使って練習をしていますが、
①boxplotでの表示の仕方が分かりません。
②plotでは下記の通り作成していますが、こちらもx軸に年を表示させるにはどうすればいいか分かりません。

解決方法を教えて下さい。
よろしくお願いします。

該当するソースコード

import csv
import pandas as pd
import matplotlib.pyplot as plt

f = open('osaka.csv') #日付yyyy-mm-dd形式、地点、平均気温、最低気温、最高気温
data = csv.reader(f)
next(data)
tempmax = [] #最高気温を保存するリスト
tempmin = [] #最低気温を保存するリスト

for row in data:
    if row[-1]!='' and row[-2]!='': #最高気温と最低気温が存在すれば
        date=row[0].split('-') #日付を「-」を基準に区分
        if 1907 <= int(date[0]): #1907年以降のデータから
            if date[1]=='12' and date[2]=='25': #12月25日であれば
                tempmax.append(float(row[-1])) #最高気温を tempmax リストに保存
                tempmin.append(float(row[-2])) #最低気温を tempmin リストに保存

plt.rcParams['axes.unicode_minus']=False #マイナス記号が文字化けしないように
plt.plot(tempmax,'hotpink')
plt.plot(tempmin,'skyblue')
plt.show()

やってみたplotの表示結果

正しいかどうかわかりませんが、下記のようなグラフが出来ました。
download.png

0

1Answer

dfに 日付、最高気温、最低気温 が入っているとして

import matplotlib.pyplot as plt

X_dt = pd.to_datetime(df['日付'])
plt.plot(X_dt, df['最高気温'], c='red')
plt.plot(X_dt, df['最低気温'], c='blue')

image.png

Boxplotはどういうものをイメージされているでしょうか。一般的には下記になるかと思います。

plt.boxplot([df['最高気温'], df['最低気温']])

image.png

0Like

Your answer might help someone💌