更改seaborn热图的颜色条上的刻度尺寸

时间:2015-01-08 02:31:03

标签: python heatmap colorbar seaborn

我想增加与使用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)

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

2 个答案:

答案 0 :(得分:8)

调用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)

答案 1 :(得分:6)

避免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)

我几乎总是以这种方式开始我的绘图,通过显式创建figax对象。它有点冗长,但由于我倾向于忘记我的matplotlib-foo,所以我不会对我正在做的事情感到困惑。

相关问题