2
私は、2つの変数v
とu
のシステムを持っています。私はそれらをお互いにプロットし、色で示された時間を持っていきたいと思います。ここでMatplotlib:日付ごとに色分けされ、カラーバーでラベル付けされています
インデックスがpd.to_datetime()
を使用して生成された私のデータ、次のとおりです。
v u
date
2001-01-01 3.9 4.290910
2002-01-01 2.8 5.807681
2003-01-01 2.8 5.956179
2004-01-01 2.6 5.771250
2005-01-01 2.7 5.335874
2006-01-01 3.1 4.792693
2007-01-01 3.3 4.576049
2008-01-01 3.0 5.008100
2009-01-01 2.0 8.392731
2010-01-01 2.0 9.961898
2011-01-01 2.2 9.168686
2012-01-01 2.7 8.360966
2013-01-01 2.7 7.805654
2014-01-01 2.7 6.742811
2001-04-01 3.6 4.474629
2002-04-01 2.6 5.899864
2003-04-01 2.5 6.209195
2004-04-01 2.7 5.644648
2005-04-01 3.1 5.170083
私はしかし、それは誤って、今の代わりに2001年の2001年から2003年からの日付範囲を設定します
fig, ax = plt.subplots()
smap = ax.scatter(df['v'],df['u'],s=500,c=df.index,
edgecolors='none', marker='o', cmap=cmap))
cb = fig.colorbar(smap, orientation='vertical')
cb.ax.set_yticklabels(df.index.strftime('%b %Y'))
を試してみました-2014:
はmatplotlibのメーリングリストでこの出くわしました。 http://matplotlib.1069221.n5.nabble.com/colorbar-with-date-time-formatting-td16553.html – dagrha
@dagrha私もそれを発見しましたが、それは私に 'オーバーフローエラー:最大値を超える符号付き整数 'を与えました。私はhttps://github.com/patwmcnamara/GADS11-NYC-Summer2014/issues/50を見つけました。私はここでやっているようにしています。 – FooBar
私はcb.axisの 'yticklabels'を設定する前に' cb.set_ticks(df.index) 'というカラーバーの目盛りを設定することで動作させました。私はdfを日付でソートし、次にreset_index()をdatetimeではなく整数にする必要があることに注意してください。 – dagrha