前提・実現したいこと
Pythonで実験で得たデータを解析しています。
例えばある物理量の時間依存の温度依存性をとったとして、
色で強度を表した二軸のカラーマップを作成したいです。
plt.pcolor()を使用してかなり近いことはできているんですが、
軸が意図したものと違っていて困っています。
python
1x=np.arange(1,1001,1)*1e-3 #time 2y=np.arange(20,151,10) #temp 3(i,j)=(0,0) 4Z=np.zeros((len(x),len(y))) 5for X in x: 6 for Y in y: 7 Z[i][j]=10*(1-np.exp(-X/10*Y)) 8 if Y==20: 9 Z[i][j]=1 10 if Y==150: 11 Z[i][j]=1 12 j+=1 13 i+=1 14 j=0 15plt.pcolor(y,x,np.log(Z)) 16plt.yscale('log') 17plt.show() 18plt.close()
出力画像
20Cなどのメモリ位置がデータの左側に
表示されるため、25Cのデータのように見える。
X軸をずらしてメモリ位置を各データの真下にできますか?
また150Cのデータが表記されません。
この問題を解決する方法を教えてください。
試したこと
plt.pcolor()ではlog表記できますが、X軸の位置がおかしいです。seaborn.heatmap()は、X軸の位置は良く全てのデータを表示できるのですが、
Y軸のlog表記を達成する方法が分かりませんでした。
python
1df = pd.DataFrame(data=Z, columns=y,index=x) 2ax = seaborn.heatmap(df)
回答2件
あなたの回答
tips
プレビュー