更改seaborn热图的轴标签[重复]
Posted
技术标签:
【中文标题】更改seaborn热图的轴标签[重复]【英文标题】:Change axis labels for seaborn heatmap [duplicate] 【发布时间】:2021-11-25 14:29:45 【问题描述】:我使用 seaborn 模块绘制特定区域内其中一个 Wifi AP 的热图。热图图符合我的规范。但是,我想将 X 轴和 Y 轴标签从字母更改为数字。例如,A 字母应该是 0.45,B 应该是 0.90,最后一个字母 O 应该是 6.75 数字。
我有轴标签
ABCDEFGHIJKLMNO
并想将它们更改为标签
0.45 0.90 1.35 1.80 2.25 2.70 3.15 3.60 4.05 4.50 4.95 5.40 5.85 6.30 6.75
.
此外,我想将 x-label 添加为 x(m) 并将 y-label 添加为 y(m),x 和 y- 上的标签图中的轴。我已经在下面的示例中尝试过,但是这些标签没有显示出来。
import seaborn as sn
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "Times New Roman"
array = [[-45,-45,-46,-47,-48,-49,-48,-50,-52,-51,-53,-54,-56,-58,-57],
[-44,-45,-47,-48,-49,-48,-48,-51,-50,-52,-54,-54,-56,-58,-57],
[-45,-46,-48,-47,-50,-50,-49,-50,-52,-51,-53,-54,-56,-58,-56],
[-46,-48,-47,-47,-51,-50,-48,-50,-49,-50,-52,-53,-54,-54,-55],
[-47,-50,-49,-47,-49,-49,-48,-50,-52,-51,-53,-54,-56,-56,-55],
[-48,-51,-49,-49,-50,-51,-50,-52,-53,-51,-52,-52,-52,-57,-56],
[-47,-52,-47,-50,-48,-49,-48,-50,-52,-51,-53,-52,-50,-54,-53],
[-47,-49,-48,-49,-47,-48,-47,-49,-50,-50,-51,-52,-54,-55,-54],
[-49,-48,-47,-48,-47,-49,-48,-50,-51,-51,-53,-52,-53,-55,-53],
[-50,-48,-48,-47,-49,-50,-48,-49,-52,-52,-53,-54,-51,-58,-55],
[-52,-49,-49,-51,-48,-51,-48,-50,-53,-53,-53,-51,-52,-57,-54],
[-53,-51,-49,-51,-50,-51,-49,-52,-53,-54,-53,-53,-52,-56,-55],
[-51,-50,-51,-50,-51,-52,-50,-53,-54,-52,-53,-53,-54,-54,-53],
[-52,-52,-52,-53,-52,-54,-53,-56,-55,-53,-52,-54,-53,-55,-53],
[-54,-53,-53,-52,-54,-55,-56,-56,-54,-53,-53,-54,-56,-58,-54]]
df_cm = pd.DataFrame(array, index = [i for i in "ABCDEFGHIJKLMNO"],
columns = [i for i in "ABCDEFGHIJKLMNO"])
plt.figure(figsize = (10,7))
plt.title('AP1')
plt.xlabel('x(m)')
plt.ylabel('y(m)')
sn.heatmap(df_cm, annot=False)
plt.savefig('heatmap.png')
plt.savefig('heatmap.pdf')
【问题讨论】:
在手动设置 x/y 标签之前生成热图。 【参考方案1】:这就是你的目标吗?请注意我是如何在 sn.heatmap
调用之后移动 xlabel 和 ylabel 生成的。
import seaborn as sn
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "Times New Roman"
array = [[-45,-45,-46,-47,-48,-49,-48,-50,-52,-51,-53,-54,-56,-58,-57],
[-44,-45,-47,-48,-49,-48,-48,-51,-50,-52,-54,-54,-56,-58,-57],
[-45,-46,-48,-47,-50,-50,-49,-50,-52,-51,-53,-54,-56,-58,-56],
[-46,-48,-47,-47,-51,-50,-48,-50,-49,-50,-52,-53,-54,-54,-55],
[-47,-50,-49,-47,-49,-49,-48,-50,-52,-51,-53,-54,-56,-56,-55],
[-48,-51,-49,-49,-50,-51,-50,-52,-53,-51,-52,-52,-52,-57,-56],
[-47,-52,-47,-50,-48,-49,-48,-50,-52,-51,-53,-52,-50,-54,-53],
[-47,-49,-48,-49,-47,-48,-47,-49,-50,-50,-51,-52,-54,-55,-54],
[-49,-48,-47,-48,-47,-49,-48,-50,-51,-51,-53,-52,-53,-55,-53],
[-50,-48,-48,-47,-49,-50,-48,-49,-52,-52,-53,-54,-51,-58,-55],
[-52,-49,-49,-51,-48,-51,-48,-50,-53,-53,-53,-51,-52,-57,-54],
[-53,-51,-49,-51,-50,-51,-49,-52,-53,-54,-53,-53,-52,-56,-55],
[-51,-50,-51,-50,-51,-52,-50,-53,-54,-52,-53,-53,-54,-54,-53],
[-52,-52,-52,-53,-52,-54,-53,-56,-55,-53,-52,-54,-53,-55,-53],
[-54,-53,-53,-52,-54,-55,-56,-56,-54,-53,-53,-54,-56,-58,-54]]
labels = [0.45, 0.90, 1.35, 1.80, 2.25, 2.70, 3.15, 3.60, 4.05, 4.50, 4.95, 5.40, 5.85, 6.30, 6.75]
df_cm = pd.DataFrame(array, index = labels,
columns = labels)
plt.figure(figsize = (10,7))
plt.title('AP1')
sn.heatmap(df_cm, annot=False)
plt.xlabel('x(m)')
plt.ylabel('y(m)')
plt.savefig('heatmap.png')
plt.savefig('heatmap.pdf')
【讨论】:
是的,完美。谢谢你。欣赏以上是关于更改seaborn热图的轴标签[重复]的主要内容,如果未能解决你的问题,请参考以下文章