2017-07-13 178 views
1

ヒートマップのティック設定をいくつかの異なる方法で調整しようとしましたが、成功しませんでした。プロットの設定を実際に変更する唯一の方法はplt.xticks(np.arange(217, 8850, 85))ですが、この方法に複数の異なる間隔を使用しても、データは右に大きく歪んでいます。Seabornヒートマップのティック設定を調整する

目盛りラベルが一緒に詰め込まれていない場合(たとえば、plt.xticks(np.arange(217, 8850, 500))を使用)、軸の最後の最後の目盛りは、すべてのデータを表示する必要がある最大の8850付近ではありません。

私は目盛りのラベルを許可する間隔でデータの全範囲(Xmax:8848 Xmin:7200、Ymax:8848 Ymin:217)を表示するために、xとyの両方でこれらの目盛設定を調整しようとしています読めるようにする。ヒートマップの

画像:

最初のイメージplt.xticks(np.arange(217, 8850, 500))である:

enter image description here

第2の画像がplt.xticks(np.arange(217, 8850, 85))である:

enter image description here

第三には、元のヒートマップです。

enter image description here

color = 'seismic' 
success_rate = (m['Ascents']/((m['Ascents']) + (m['Failed_Attempts'])))*100 
success_rate.fillna(0).astype(float) 
mm['success_rate'] = success_rate 
mm['success_rate'].round(2) 
vm = mm.pivot("Height(m)", "Prominence(m)", "success_rate") 
cPreference = sns.heatmap(vm, vmax = 100, cmap = color, cbar_kws= {'label': 'Success Rate of Climbs (%)'}) 
cPreference = cPreference.invert_yaxis() 


"""Methods I've Tried""" 
plt.xticks(np.arange(217, 8850, 1000)) """<< Only line that actually makes visible changes but data is skewed greatly""" 

cPreference.xaxis.set_ticks(np.arange(mm["Height(m)"].min(), mm["Height(m)"].max(), (mm["Height(m)"].max() - \ 
mm["Height(m)"].min())/10)) 
cPreference.yaxis.set_ticks(np.arange(mm["Prominence(m)"].min(), mm["Prominence(m)"].max(), (mm["Prominence(m)"].max() \ 
- mm["Prominence(m)"].min())/10)) 

sns.set_style("ticks", {"xtick.major.size" : 8, "ytick.major.size" : 8}) 

plt.title("What is a good Mountain to Climb?") 
sns.plt.show() 
+0

取得した結果の画像を追加してください。 –

+1

ちょうどそれらをアップロード! @ViníciusAguiar –

答えて

2
cPreference = sns.heatmap(vm, vmax = 100, cmap = color, >>> xticklabels = 10, yticklabels = 5 <<<, cbar_kws={'label': 'Success Rate of Climbs (%)'}) 

xticklabelsまたはyticklabelsを整数に設定することによって、同じ列buをプロットしますその列のn番目の項目のみが表示されます。

0

あなたは、例えば、ここで

from matplotlib import ticker 
tick_locator = ticker.MaxNLocator(10) 
ax.xaxis.set_major_locator(tick_locator) 

は多くのオプション

のドキュメントに linkで、カスタムティックロケータを設定することにより、手動でダニ位置決めの動作を指定することができます
関連する問題