Python 如何将特定标签添加到散点图中?

Python 如何将特定标签添加到散点图中?,python,matplotlib,jupyter-notebook,scatter,Python,Matplotlib,Jupyter Notebook,Scatter,我尝试使用matplotlib在python散点图中标记几个点 我的x和y是主列和次列。我希望能够通过国家名称列(例如标签中国和美国)注释和增加点的大小 我的表名为df6,它包含多个列。我想从“国家名称”列中标记5个点 我制作了一个简单的数据框来展示如何做到这一点;主要的“技巧”是创建一个带有df['Country Name'].isin(…)的掩码,并在掩码为True的位置获取(x,y,label)值: import pandas as pd import numpy as np impor

我尝试使用matplotlib在python散点图中标记几个点

我的x和y是主列和次列。我希望能够通过国家名称列(例如标签中国和美国)注释和增加点的大小

我的表名为df6,它包含多个列。我想从“国家名称”列中标记5个点


我制作了一个简单的数据框来展示如何做到这一点;主要的“技巧”是创建一个带有
df['Country Name'].isin(…)
的掩码,并在掩码为
True的位置获取(x,y,label)值:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data={
    'x':np.arange(0,7,1),
    'y':np.arange(0,7,1),
    'Country Name':['Aruba','Germany','Austria','China','USA','England','Italy']
}

df=pd.DataFrame(data)

plt.scatter(df['x'],df['y'],c="b",s=3**2,zorder=2)

selectedCountries=['Germany','USA', 'China']
mask=(df['Country Name'].isin( selectedCountries ))
plt.scatter(df['x'][mask],df['y'][mask],c="r",s=5**2,zorder=3)

for (x,y,label) in df[['x','y','Country Name']][mask].values:
    plt.text(x,y,label,zorder=4)

plt.show()

我制作了一个简单的数据框架来展示如何做到这一点;主要的“技巧”是创建一个带有
df['Country Name'].isin(…)
的掩码,并在掩码为
True的位置获取(x,y,label)值:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data={
    'x':np.arange(0,7,1),
    'y':np.arange(0,7,1),
    'Country Name':['Aruba','Germany','Austria','China','USA','England','Italy']
}

df=pd.DataFrame(data)

plt.scatter(df['x'],df['y'],c="b",s=3**2,zorder=2)

selectedCountries=['Germany','USA', 'China']
mask=(df['Country Name'].isin( selectedCountries ))
plt.scatter(df['x'][mask],df['y'][mask],c="r",s=5**2,zorder=3)

for (x,y,label) in df[['x','y','Country Name']][mask].values:
    plt.text(x,y,label,zorder=4)

plt.show()

如果这是一个重复的问题,我深表歉意。您可以发布数据帧的外观吗?我尝试了重复的答案,但得到了一个:ValueError:无法将float转换为NaN到整数。我添加了数据帧的图像。如果这是一个重复的问题,我深表歉意。您可以发布数据帧的外观吗?我尝试了重复的答案,但得到了一个:ValueError:无法将浮点转换为NaN或整数。我添加了数据帧的图像。