gpt4 book ai didi

python - Seaborn 热图注释在单元格中的位置

转载 作者:太空狗 更新时间:2023-10-30 01:05:40 26 4
gpt4 key购买 nike

默认情况下,Seaborn 热图中的注释在每个单元格的中间居中。是否可以将注释移动到“左上角”。

最佳答案

一个好主意可能是使用热图中的注释,这些注释由 annot=True 参数生成,然后将它们向上移动半个像素宽度,向左移动半个像素宽度。为了使这个移动位置成为文本本身的左上角,hava 关键字参数需要设置为 annot_kws。移位本身可以使用平移变换来完成。

import seaborn as sns
import numpy as np; np.random.seed(0)
import matplotlib.pylab as plt
import matplotlib.transforms

data = np.random.randint(100, size=(5,5))
akws = {"ha": 'left',"va": 'top'}
ax = sns.heatmap(data, annot=True, annot_kws=akws)

for t in ax.texts:
trans = t.get_transform()
offs = matplotlib.transforms.ScaledTranslation(-0.48, 0.48,
matplotlib.transforms.IdentityTransform())
t.set_transform( offs + trans )

plt.show()

enter image description here

该行为有点违反直觉,因为转换中的 +0.48 将标签向上移动(与轴的方向相反)。这种行为似乎在 seaborn 版本 0.8 中得到了纠正;对于 seaborn 0.8 或更高版本中的绘图,请使用更直观的转换

offs = matplotlib.transforms.ScaledTranslation(-0.48, -0.48,
matplotlib.transforms.IdentityTransform())

关于python - Seaborn 热图注释在单元格中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43089994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com