前提・実現したいこと
10年間の波高データにおいて、月ごとの最大波高を縦軸、月を横軸に取ったグラフを描きたいです.
該当のソースコード
import pandas as pd import matplotlib.pyplot as plt import numpy as np from datetime import datetime df_list1 = [pd.read_csv(f'dowsing{i+2010}-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] for i in range(10)] df1=pd.concat([df_list1[i] for i in range(10)]) df1.columns=["Time (GMT)", "Dominant (peak) wave period (s)", "Significant wave height (Hm0) (m)"] df1['Time (GMT)']=pd.to_datetime(df1['Time (GMT)']) for i in range(12): df_a = df1[df1["Time (GMT)"].dt.month == 1+i] ymax=df_a["Significant wave height (Hm0) (m)"].max() y=ymax x=i+1 fig, ax = plt.subplots(figsize=(10,4)) ax.plot(x, y, color='red', label=r"dowsing", lw=2,marker='o',alpha=0.6) ax.set_xlabel('月',fontname='MS Gothic',labelpad=15,fontsize=20) ax.set_ylabel('有義波高 (m)',fontname='MS Gothic',labelpad=25,fontsize=20) ax.set_ylim(0,3) ax.tick_params(axis='x', labelsize= 15) ax.tick_params(axis='y', labelsize=15) ax.set_xticks([1,2,3,4,5,6,7,8,9, 10,11,12]) ax.set_yticks([0.5,1,1.5,2.0,2.5,3,0], minor=True) ax.set_xlim(1,12) plt.show()
###修正したコード
import pandas as pd import matplotlib.pyplot as plt import numpy as np from datetime import datetime df_list1 = [pd.read_csv(f'C:/Users/mttai/cefas/dowsing/dowsing{i+2010}-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] for i in range(10)] df1=pd.concat([df_list1[i] for i in range(10)]) df1.columns=["Time (GMT)", "Dominant (peak) wave period (s)", "Significant wave height (Hm0) (m)"] df1['Time (GMT)']=pd.to_datetime(df1['Time (GMT)']) y = df1.groupby(df1['Time (GMT)'].dt.month)["Significant wave height (Hm0) (m)"].max() fig, ax = plt.subplots(figsize=(10,4)) ax.plot(np.arange(1,13), y, color='red', label=r"dowsing", lw=2,marker='o',alpha=0.6) ax.set_xlabel('月',fontname='MS Gothic',labelpad=15,fontsize=20) ax.set_ylabel('有義波高 (m)',fontname='MS Gothic',labelpad=25,fontsize=20) ax.set_ylim(0,3) ax.set_xlim(1,12) ax.tick_params(axis='x', labelsize= 15) ax.tick_params(axis='y', labelsize=15) ax.set_xticks([1,2,3,4,5,6,7,8,9, 10,11,12]) ax.set_yticks([0.5,1,1.5,2.0,2.5,3,0], minor=True) plt.show()
発生している問題・エラーメッセージ
エラーメッセージは出現しませんが、グラフには何のデータもプロットされていないです。
補足情報(FW/ツールのバージョンなど)
python3
jupyter notebook
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/23 04:52
2021/12/23 04:57
2021/12/23 07:37
2021/12/23 07:46
2021/12/23 09:05