1
私はパンダを使ってExcelファイルを読んでいて、シートの1つを読んで結果をプロットしようとしています。以下は私のコードです。時間の列をプロットのx軸にするにはどうすればいいですか?
df = pd.read_excel('Base_Case-Position.xlsx',sheetname = 'Sheet1', header=0, parse_col="A:E")
print df
Time WB NB WBO SBO
0 09:00:00 0.242661 0.839820 0.449634 0.484678
1 10:00:00 0.809247 1.545173 1.129107 1.147414
2 11:00:00 1.519679 2.051029 1.766170 1.699770
3 12:00:00 1.748682 2.291056 2.018005 1.879778
4 13:00:00 1.790151 2.384782 2.123876 1.913225
5 14:00:00 1.966337 2.612614 2.344493 2.094139
6 15:00:00 2.295261 3.030992 2.686752 2.503890
7 16:00:00 2.412628 3.232904 2.772683 2.737191
8 17:00:00 2.476746 3.354741 2.781410 2.923059
私は時間に対して列WB、NB、WBOとSBOをプロットしたいとXTICKとして時間列を追加したいと思います。
以下は私が現時点でやっている方法ですが、手動でラベルを設定しているので、私には間違いありません。 Xticksのリストを作成しました。これを行うより良い方法はありますか?
%matplotlib inline
import matplotlib.pyplot as plt
a = np.arange(9)
plt.scatter(a,df.WB,color='r',alpha=1)
plt.plot(a,df.NB, color='g',alpha=1)
plt.plot(a,df.WBO, color='k',alpha=1)
plt.plot(a,df.SBO,color='m',alpha=1)
plt.xlabel('Time (hr)')
plt.ylabel('Energy Consumption (kWh)')
labels = ['9:00', '10:00', '11:00', '12:00','13:00', '14:00', '15:00', '16:00','17:00']
plt.xticks(a,labels,rotation='horizontal')
plt.grid(True)
plt.tick_params(which='major', length=4)
plt.tick_params(which='minor', length=4)
plt.show()
おかげで、私は時間の列と全く同じになるようにX軸を希望あなたはx軸上にあるものと似ていません。 – Muhammad
編集を参照してください。あなたは文字列に変換するときに秒を削除する方法を理解する必要があります。 – Shovalt