前提・実現したいこと
縦軸に波高、横軸に周期をとった二変数ヒストグラムに階級ごとの度数を入力したいのですが、調べてもうまくできないので質問させていただきます。
目標は以下のようなものです
試したこと
ヒストグラムを作成し、ヒートマップにしてannotをTrueにしようとしましたが、
エラーが出現しました。
該当のソースコード
import numpy as np import pandas as pd import seaborn as sns import matplotlib.colors import matplotlib.pyplot as plt import matplotlib.dates as dt from matplotlib.dates import date2num from matplotlib.collections import LineCollection df1=pd.read_csv('liverpool2010-bay-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] df2=pd.read_csv('liverpool2011-bay-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] df3=pd.read_csv('liverpool2012-bay-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] df4=pd.read_csv('liverpool2013-bay-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] df5=pd.read_csv('liverpool2014-bay-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] df6=pd.read_csv('liverpool2015-bay-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] df7=pd.read_csv('liverpool/liverpool2016-bay-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] df8=pd.read_csv('liverpool/liverpool2017-bay-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] df9=pd.read_csv('liverpool/liverpool2018-bay-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] df10=pd.read_csv('liverpool/liverpool2019-bay-wavenet-site.csv',header=None, skiprows=1,)[[0,1,2]] df = pd.concat([df1, df2,df3,df4,df5,df6,df7,df8,df9,df10]) df.columns=["Time (GMT)", "Dominant (peak) wave period (s)", "Significant wave height (Hm0) (m)"] df['Time (GMT)']=pd.to_datetime(df['Time (GMT)']) df=df.set_index("Time (GMT)") x=df['Dominant (peak) wave period (s)']/1.1 y=df['Significant wave height (Hm0) (m)'] fig, ax = plt.subplots(figsize=(20,10)) cm = plt.cm.get_cmap('jet') bins=[np.linspace(0.0,15.0,16),np.linspace(0.0,6.0,25)] H=ax.hist2d(x,y,bins=bins,density=True,cmap=cm,norm=matplotlib.colors.LogNorm()) ax.set_xlabel('$T_p$/1.1(s)',labelpad=20,fontsize=30, rotation='horizontal') ax.set_ylabel('$H_{m0}$ \n (m)',labelpad=30,fontsize=30, rotation='horizontal') ax.minorticks_on() ax.tick_params(axis='x', labelsize= 25, pad=10) ax.tick_params(axis='y', labelsize= 25) ax.set_xlim(0,15) ax.set_ylim(0,6.0) fig.colorbar(H[3],ax=ax) ax.set_title(f"Liverpool 2010-2019",fontname="MS Gothic",fontsize=35) sns.heatmap(H, annot=True)
エラーメッセージ
IndexError: Inconsistent shape between the condition and the input (got (4, 1) and (4,))
補足情報(FW/ツールのバージョンなど)
python3
jupyternotebook
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/15 09:19
2021/11/16 04:59
2021/11/16 07:39
2021/11/16 07:48
2021/11/19 08:15