前提・実現したいこと
Pythonでヒートマップを作っています.
元となるデータは
qeaccel.csv
qedecel.csv
qeactotal.csv
の3つです.
ここでやりたいことが2つ1つあります.
表を作ってもグリッドが細かくて見にくいのでセルを5×5ごとにまとめてもっと粒度の粗いヒートマップにしたいです.
元のcsvを組み替えて新しいcsvを作成する作業を経ることなく,ヒートマップを作る過程でその作業も一緒にできないでしょうか?
###ソースコード(質問①解決後に修正したもの)
Python
1import seaborn as sns 2import pandas as pd 3import numpy as np 4import matplotlib.pyplot as plt 5import matplotlib.patches as patches 6 7fig, axes = plt.subplots(1,3, figsize=(15,5), sharex=True, sharey=True) 8data0= pd.read_csv('qeaccel.csv', index_col = 0) 9data1= pd.read_csv('qedecel.csv', index_col = 0) 10data2= pd.read_csv('qeactotal.csv', index_col = 0) 11 12sns.heatmap(data0, ax = axes[0], cmap = 'Oranges',yticklabels = 10) 13y = (axes[0].get_yticks()[0] + axes[0].get_yticks()[-1]) / 2 14axes[0].axhline(y=y, linewidth=2, color="k", linestyle = "dotted", label = "dotted") 15axes[0].set(xlabel = 'r (m)', ylabel = 'z (m)', title = 'accelerated') 16 17 18sns.heatmap(data1, ax = axes[1], cmap = 'PuBu',yticklabels = 10) 19y = (axes[1].get_yticks()[0] + axes[1].get_yticks()[-1]) / 2 20axes[1].axhline(y=y, linewidth=2, color="k", linestyle = "dotted", label = "dotted") 21axes[1].set(xlabel = 'r (m)', ylabel = 'z (m)', title = 'decelerated',xticks=[-1,0,1]) 22 23 24 25sns.heatmap(data2, ax = axes[2], cmap = 'coolwarm') 26y = (axes[2].get_yticks()[0] + axes[2].get_yticks()[-1]) / 2 27axes[2].axhline(y=y, linewidth=2, color="k", linestyle = "dotted", label = "dotted") 28axes[2].set(xlabel = 'r (m)', ylabel = 'z (m)', title = 'accel-decel') 29 30 31
補足情報(FW/ツールのバージョンなど)
Anacondaのバージョンは質問前に最新にしました.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/05 10:08