簡體   English   中英

從 Matplotlib 中的顏色欄中刪除標簽和刻度線

[英]Remove Labels and Tick-marks from Colorbar in Matplotlib

我有一個熱圖,我想刪除顏色欄上的標簽和刻度線。 到目前為止,我如何使用我制作的熱圖(下面的代碼)來做到這一點?

import seaborn as sns
import matplotlib.pyplot as plt

sns.heatmap(my_heatmap, cmap='RdYlGn', vmin=0, vmax=1)
plt.rcParams["figure.figsize"] = (8, 6)
plt.title('10 mm Precipitation Probabilities\nTopeka, Kansas', fontsize = 16)
plt.xlabel('X', fontsize = 14)
plt.ylabel('Y', fontsize = 14)
plt.text(6.7,.18, 'High Probability')
plt.show()

在此處輸入圖像描述

(我寧願只在欄的頂部說高概率,如我制作的 label 所示)。

您可以通過cbar = ax.collections[0].colorbar訪問顏色欄(參見例如這篇文章)。

然后,您可以更改刻度( cbar.set_ticks([]) )或設置新刻度和新刻度標簽:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = (8, 6)
my_heatmap = np.random.rand(10, 10)
ax = sns.heatmap(my_heatmap, cmap='RdYlGn', vmin=0, vmax=1)
# ax.get_figure().set_size_inches(8, 6)
ax.set_title('10 mm Precipitation Probabilities\nTopeka, Kansas', fontsize=16)
ax.set_xlabel('X', fontsize=14)
ax.set_ylabel('Y', fontsize=14)
cbar = ax.collections[0].colorbar
cbar.set_ticks([0, 0.5, 1])
cbar.set_ticklabels(['Low\nProbability', 'Average\nProbability', 'High\nProbability'])
# cbar.set_label('Probability')
plt.tight_layout()
plt.show()

示例圖

請注意plt.rcParams["figure.figsize"]不會更改圖形的大小,而是為將要創建的下一個圖形設置默認大小。 因此,您需要在sns.heatmap之前調用它,如果之前沒有創建任何圖形,則會創建一個新圖形。 要更改已創建圖形的大小,請使用set_size_inches()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM