作者:凯鹏2502896277 | 来源:互联网 | 2023-01-04 11:31
我有一个使用seaborn
库创建的基本热图,并希望将颜色条从默认的垂直和右侧移动到热图上方的水平条.我怎样才能做到这一点?
这是一些示例数据和默认示例:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
# Create data
df = pd.DataFrame(np.random.random((5,5)), columns=["a","b","c","d","e"])
# Default heatma
ax = sns.heatmap(df)
plt.show()
1> ImportanceOf..:
查看文档,我们找到了一个论点cbar_kws
.这允许指定传递给matplotlib fig.colorbar
方法的参数.
cbar_kws
:键,值映射的dict,可选.关键字参数fig.colorbar
.
所以我们可以使用任何可能的参数fig.colorbar
,提供字典cbar_kws
.
在这种情况下,您需要location="top"
将颜色条放在顶部.因为colorbar
默认情况下使用gridspec定位颜色条,然后不允许设置位置,我们需要关闭gridspec(use_gridspec=False
).
sns.heatmap(df, cbar_kws = dict(use_gridspec=False,location="top"))
完整的例子:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random((5,5)), columns=["a","b","c","d","e"])
ax = sns.heatmap(df, cbar_kws = dict(use_gridspec=False,location="top"))
plt.show()