我做了一个有三个坐标轴的图形。每个轴是具有相同颜色条的热图。我想只保留第三个轴的颜色条,并隐藏第一个和第二个颜色条(但保持热图位置不变)。我怎么能这么做呢?
下面是我的代码:
fig=plt.figure()
grid = plt.GridSpec(4, 6)
plt.subplot(grid[0:2,0:5])
ax1=sns.heatmap(df_norm, cmap='Reds', vmin=0.05, vmax=0.7)
ax1.axes.get_yaxis().set_visible(False)
ax1.xaxis.tick_top()
ax1.set_xticklabels(col, rotation=90)
plt.subplot(grid[2,0:5])
ax2=sns.heatmap(df_tgfup, cmap='Reds', vmin=0.05, vmax=0.7)
ax2.axes.get_xaxis().set_visible(False)
ax2.axes.get_yaxis().set_visible(False)
ax2.xaxis.tick_top()
ax2.set_xticklabels(col, rotation=90)
plt.subplot(grid[3,0:5])
ax3=sns.heatmap(df_tgfdown, cmap='Reds', vmin=0.05, vmax=0.7)
ax3.axes.get_xaxis().set_visible(False)
ax3.axes.get_yaxis().set_visible(False)
ax3.xaxis.tick_top()
ax3.set_xticklabels(col, rotation=90)
这是我做的无花果:
这是我想做的无花果:
2条答案
按热度按时间0pizxfdo1#
你可以在任何你想隐藏热图的颜色条的地方将
cbar=False
参数传递给sns.heatmap()
。也就是说,
而
ax3
将保持不变。然后,为了保持子情节1和2的位置不变,您可以使用
plt.subplots_adjust(right=num)
;其中num
是子图右边缘的位置,作为图形宽度的一部分,您将决定对子图的所需调整。7fhtutme2#
颜色条定义为图形中的轴。您可以在
fig.axes
中访问它们您可以使用
set_visible(False)
方法来隐藏它们: