作者:微公号莆田鞋园 | 来源:互联网 | 2023-02-03 14:20
我想修改一个颜色条的刻度seaborn.clustermap
.这个答案解决了一般matplotlib
颜色条的这个问题.
g = sns.clustermap(np.random.rand(20,20),
row_cluster=None, col_cluster=None,
vmin = 0.25, vmax=1.0)
出于某种原因,当我指定时clustermap(..., vmin=0.25, vmax=1.0)
,我会得到0.3到0.9的刻度,但没有1.0.如果我延长vmax=1.05
,我会得到一个精确的嘀嗒声1.05
.
我的猜测是g.cax
返回的对象的属性clustermap
是colorbar,但它没有.set_ticks()
方法.
任何想法如何设置滴答声?
1> ImportanceOf..:
就像seaborn.heatmap
该seaborn.clustermap
有一个参数cbar_kws
(彩条关键字参数).这需要一个matplotlib colorbar函数可能参数的字典.因为使用matplotlib,我们会使用ticks
colorbar参数来手动设置滴答,我们可以提供这样的字典
g = sns.clustermap(..., cbar_kws={"ticks":[0.25,1]})
获取颜色条上0.25
和1
中的刻度线.(如果你想要更多的标记,那么列表当然可以扩展.)
完整代码:
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
g = sns.clustermap(np.random.rand(20,20),
row_cluster=None, col_cluster=None,
vmin = 0.25, vmax=1.0, cbar_kws={"ticks":[0.25,1]})
plt.show()