【发布时间】:2022-01-05 15:06:26
【问题描述】:
我有一个看起来像这样的热图(来自:Plotting a 2D heatmap with Matplotlib)。
我正在尝试创建一个热图,它没有每个值的刻度标签,而是按范围分组。例如,前三个刻度线未签名,但已与一个联合签名的“Apples”签名。
使用以下方法完全禁用刻度标签似乎很容易:
plt.tick_params(
axis='x',
which='both',
bottom=False,
top=False,
labelbottom=False)
或仅选择选定的刻度:
for (i,l) in enumerate(ax.xaxis.get_ticklabels()):
if i == 0 or i == 4 or i == 5:
l.set_visible(True)
else:
l.set_visible(False)
但是可以按照下面的方式完成吗?
热图示例代码:
corr = np.corrcoef(np.random.randn(10, 200))
mask = np.zeros_like(corr)
mask[np.triu_indices_from(mask)] = True
with sns.axes_style("white"):
ax = sns.heatmap(corr, mask=mask, vmax=.3, square=True, cmap="YlGnBu")
plt.show()
【问题讨论】: