python - 如何在图像热图(python)中设置图例?
问题描述
如何将垂直图例稍微向上移动(到行的中心)?我需要这些非常大的字母
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
labels_raw=np.array([["98.75\n±0.50" ,"1.25\n±0.82"],[ "1.32\n±0.74", "98.68\n±0.74"]])
cm_raw=np.array([[98.75 ,1.25],[ 1.32, 98.68]])
sns.set(font_scale=2.5)
labels=labels_raw
cm=cm_raw
fig, ax = plt.subplots(figsize=(5,5))
target_names = ['test1','test2']
f=sns.heatmap(cm, annot=labels, fmt=':^', xticklabels=target_names,
yticklabels=target_names,annot_kws={"size": 25},cbar=False)
plt.show(block=False)
#plt.show()
fig=f.get_figure()
解决方案
您可以旋转标签并将垂直对齐设置为居中:
fig, ax = plt.subplots(figsize=(5,5))
target_names = ['test1','test2']
sns.heatmap(cm, annot=labels, fmt=':^', xticklabels=target_names,
yticklabels=target_names,annot_kws={"size": 25},cbar=False,ax=ax)
ax.set_yticklabels(target_names, rotation=0, fontsize="25", va="center")
或者这将使 y 轴标签保持垂直:
sns.heatmap(cm, annot=labels, fmt=':^', xticklabels=target_names,
yticklabels=target_names,annot_kws={"size": 25},cbar=False,ax=ax)
ax.set_yticklabels(target_names, fontsize="25", va="center")
推荐阅读
- javascript - jQuery过滤多个数据属性
- java - (JAVA) 具有复杂输入参数的 Spark SQL UDF
- typescript - getElement 不是函数类型脚本
- javascript - 商店调度后VueJS发出不工作
- python-3.x - 如何使用 Python 提取 Workday 职位发布链接?
- python - 禁止 Django 直接分配到多对多集合的反面。使用 .set()
- laravel - 为什么我在使用 Laravel Websockets 包时遇到问题?
- c++ - 使用 nano.specs 时 libc.a 和 libc_nano.a 之间的多个函数定义
- javascript - msSaveBlob 文件损坏
- reactjs - 无法从我的 next.js 应用程序获取我的strapi 数据