【问题标题】:Change tick size on colorbar of seaborn heatmap更改 seaborn 热图颜色条上的刻度大小
【发布时间】:2015-03-06 02:11:23
【问题描述】:

我想增加与使用seaborn 模块创建的热图中的颜色条相对应的刻度标签大小。举个例子:

import seaborn as sns
import pandas as pd
import numpy as np

arr = np.random.random((3,3))
df = pd.DataFrame(arr)
ax = sns.heatmap(arr)

通常我会在颜色条轴对象上使用tick_params 方法更改labelsize 关键字,但使用heatmap() 函数我只能将kwargs 传递给颜色条构造函数。如何修改此图中颜色条的刻度标签大小?

【问题讨论】:

    标签: python heatmap colorbar seaborn


    【解决方案1】:

    调用heatmap 后,颜色条轴将在图形对象的axes 属性处获得引用。因此,您可以提前设置图形,也可以在使用 plt.gcf 绘制后获取对它的引用,然后以这种方式拉出颜色条轴对象:

    import seaborn as sns
    import pandas as pd
    import numpy as np
    
    arr = np.random.random((3,3))
    df = pd.DataFrame(arr)
    ax = sns.heatmap(arr)
    
    cax = plt.gcf().axes[-1]
    cax.tick_params(labelsize=20)
    

    【讨论】:

    • 谢谢!我不知道如何找到那个axes 对象。
    • 请注意,您还可以传递将绘制颜色条的特定坐标区对象,但如果您对默认定位感到满意,那就有点过头了。
    【解决方案2】:

    避免gcf()的方式略有不同:

    import seaborn as sns
    import pandas as pd
    import numpy as np
    
    arr = np.random.random((3,3))
    df = pd.DataFrame(arr)
    
    fig, ax = plt.subplots()
    sns.heatmap(arr, ax=ax)
    ax.tick_params(labelsize=20)
    

    我几乎总是以这种方式开始我的情节,明确地创建一个fig 和ax 对象。它有点冗长,但由于我倾向于忘记我的matplotlib-foo,所以我不会对我正在做的事情感到困惑。

    【讨论】:

      猜你喜欢
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-11
      • 2023-03-25
      • 2016-02-20
      相关资源
      最近更新 更多