Python 如何注释热图中的特定单元格?
我怎样才能注释四个角单元格Python 如何注释热图中的特定单元格?,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,我怎样才能注释四个角单元格 for N in Nvals: for R in Rvals: filename = "data" filename += "-N" + str(N) + "-R0" + str(R) filename += ".txt" data = [] with open(filename) as file:
for N in Nvals:
for R in Rvals:
filename = "data"
filename += "-N" + str(N) + "-R0" + str(R)
filename += ".txt"
data = []
with open(filename) as file:
for line in file.readlines():
#line = line.strip('"\'`(), False True \n')
try:
value = float(line)
except ValueError:
pass
else:
data.append(value)
data = np.array(data)
mean.append(np.mean(data))
mean = np.array(mean).reshape(11,10)
plt.figure(1)
plt.figure(figsize=(3,3), dpi=175)
res=sns.heatmap(mean,square=True,
norm=LogNorm(0.01, 100),
annot=True,annot_kws={'size': 4},
xticklabels=False, yticklabels=False,
cbar = False,
cmap="viridis_r")
res.invert_yaxis()
Seaborn的热图允许显式地给出一个2D数组用作注释。例如,您可以创建一个列表,其中包含除拐角处以外的所有空字符串:
从matplotlib导入pyplot作为plt
从matplotlib.colors导入LogNorm
将numpy作为np导入
导入seaborn作为sns
平均值=100**np.random.rand11,10
plt.图1,figsize=3,3,dpi=175
annot_值=np.full_likemean,np.nan
对于[0,0,0,-1,-1,0,-1,-1]中的i,j:
annot_值[i,j]=平均值[i,j]
m、 n=平均值
如果i在0中,m-1和j在0中,n-1,则annot_值=[[f'{平均值[i,j]:.2g}'
对于j in rangen]
因为我在林中]
ax=sns.heatmapmean,square=True,
norm=LogNorm0.01100,
annot=annot_值,annot_kws={'size':10},fmt=s,
xticklabels=False,yticklabels=False,
cbar=False,
cmap=绿色
ax.invert_yaxis
plt.tight_布局
节目
注:请注意,每次调用plt.figure都会创建一个新的数字。因此,建议将两个调用合并为一个,以防止创建空数字
关于f'{mean[i,j]:.2g}':
f将字符串更改为a。
{}内的部分的格式为{value:format}或只是{value}获取默认格式,并将被格式化文本替换。
格式规范是完整格式的一部分,其中.2g表示具有2个有效数字的通用格式。
Seaborn的热图允许显式地给出一个2D数组用作注释。例如,您可以创建一个列表,其中包含除拐角处以外的所有空字符串:
从matplotlib导入pyplot作为plt
从matplotlib.colors导入LogNorm
将numpy作为np导入
导入seaborn作为sns
平均值=100**np.random.rand11,10
plt.图1,figsize=3,3,dpi=175
annot_值=np.full_likemean,np.nan
对于[0,0,0,-1,-1,0,-1,-1]中的i,j:
annot_值[i,j]=平均值[i,j]
m、 n=平均值
如果i在0中,m-1和j在0中,n-1,则annot_值=[[f'{平均值[i,j]:.2g}'
对于j in rangen]
因为我在林中]
ax=sns.heatmapmean,square=True,
norm=LogNorm0.01100,
annot=annot_值,annot_kws={'size':10},fmt=s,
xticklabels=False,yticklabels=False,
cbar=False,
cmap=绿色
ax.invert_yaxis
plt.tight_布局
节目
注:请注意,每次调用plt.figure都会创建一个新的数字。因此,建议将两个调用合并为一个,以防止创建空数字
关于f'{mean[i,j]:.2g}':
f将字符串更改为a。
{}内的部分的格式为{value:format}或只是{value}获取默认格式,并将被格式化文本替换。
格式规范是完整格式的一部分,其中.2g表示具有2个有效数字的通用格式。
谢谢你的帮助。既然我是nee,你能解释一下这是什么意思吗?{意思是[I,j]:.2g}'谢谢你的帮助。既然我是nee,你能解释一下这是什么意思吗