【问题标题】:Seaborn clustermap colorbar adjustmentSeaborn 集群图颜色条调整
【发布时间】:2021-06-09 18:09:15
【问题描述】:

在调整 seaborn.clustermap 中的颜色条时遇到了几个问题。我正在尝试:

  1. 水平定位颜色条
  2. 更改颜色条边框颜色
  3. 更改颜色条刻度长度

我检查了documentationfigure.colorbar 无济于事。

最少的代码:

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

#data
corr = np.corrcoef(np.random.randn(10, 200))

#clustermap
kws = dict(cbar_kws=dict(label='Label', ticks=[0,0.50,1], orientation='horizontal'), figsize=(6, 6))
sns.clustermap(corr, cmap="Blues", xticklabels=False, yticklabels=False, **kws)
plt.show()

【问题讨论】:

    标签: python matplotlib seaborn


    【解决方案1】:

    您可以通过g.ax_cbar 获取带有颜色条的子图。然后你可以改变它的位置、标题、刺和刻度长度:

    import numpy as np
    import seaborn as sns
    import matplotlib.pyplot as plt
    
    corr = np.corrcoef(np.random.randn(10, 200))
    
    kws = dict(cbar_kws=dict(ticks=[0, 0.50, 1], orientation='horizontal'), figsize=(6, 6))
    g = sns.clustermap(corr, cmap="Blues", xticklabels=False, yticklabels=False, **kws)
    x0, _y0, _w, _h = g.cbar_pos
    g.ax_cbar.set_position([x0, 0.9, g.ax_row_dendrogram.get_position().width, 0.02])
    g.ax_cbar.set_title('colorbar title')
    g.ax_cbar.tick_params(axis='x', length=10)
    for spine in g.ax_cbar.spines:
        g.ax_cbar.spines[spine].set_color('crimson')
        g.ax_cbar.spines[spine].set_linewidth(2)
    plt.show()
    

    【讨论】:

    • 其中一些事情可能确实需要事后完成,但您可以在使用cbar_pos kwarg 绘图时设置 cbar 位置。
    猜你喜欢
    • 2023-03-29
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2017-09-02
    • 2021-08-20
    • 2015-08-01
    相关资源
    最近更新 更多