我正在试着画出通过两次考试的100名学生的分数。X值是第一次考试分数,Y值是第二次考试分数。我的数据框中有第三列,它要么是0,要么是1。如果他们以两次考试的分数被大学录取,那么在我的第三列中会用1表示。如果他们没有被录取,那么他们的分数是0。
我试着在他们没有被录取的时候画点,在他们被录取的时候画'+‘。
我该怎么做呢?
这是我现在拥有的代码:
data.plot(kind='scatter', x='First Exam Score', y='Second Exam Score', figsize=(12,8))这是我现在的图表:

我希望一些点是点,另一些点是'+',这取决于它们在第三列中的值
发布于 2019-09-27 02:46:34
您可以将所选数据绘制到同一个轴中:
data = pd.DataFrame({'First': np.random.randint(30,100, 100),
'Second': np.random.randint(30,100,100),
'Admitted': np.random.randint(0,2,100)})
fig, ax = plt.subplots()
markers = ['x','o']
for i in range(2):
data[data['Admitted'].eq(i)].plot.scatter(x='First',
y='Second',
marker=markers[i],
ax=ax)输出:

或者,您可以在style中使用seaborn scatterplot

但在我看来,更好的方法是使用seaborn进行颜色编码:
sns.scatterplot(data=data, x='First', y='Second', hue='Admitted', style='Admitted')输出:

https://stackoverflow.com/questions/58122810
复制相似问题