首页 > 解决方案 > 如何在 seaborn 图中显示交叉点标签?

问题描述

想要在图表中显示每个数据点的名称。目的是获得一个显示所有国家信息的单一图表。X 轴显示医院的数量,y 轴显示 MRI 的数量。我正在获取图表,但如何获取每个国家/地区的名称显示在其各自数据点旁边。

这是我的代码。

dfn = ['Australia', 'Belgium', 'Canada', 'Denmark']
dfx = [2,4,6,3]
dfy = [3,2,8,1]
sns.regplot(x=dfx, y=dfy, fit_reg=False)
plt.scatter
plt.xlabel('Hospitals')
plt.ylabel('MRIs')

标签: pythonseaborndata-visualization

解决方案


您可以使用带有pyplot.text的 for 循环来添加每个标签:

import seaborn as sns
dfn = ['Australia', 'Belgium', 'Canada', 'Denmark']
dfx = [2,4,6,3]
dfy = [3,2,8,1]
sns.regplot(x=dfx, y=dfy, fit_reg=False)
plt.scatter
plt.xlabel('Hospitals')
plt.ylabel('MRIs')
for i in range(len(dfn)):
    plt.text(dfx[i]+0.1,dfy[i]+0.1,dfn[i])

在此处输入图像描述

并且可能会更改绘图的限制以包含标签,例如:

plt.xlim((1.5,7))
plt.ylim((0.5,8.5))

推荐阅读