首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pyplot绘制二进制值

如何使用pyplot绘制二进制值
EN

Stack Overflow用户
提问于 2019-09-27 02:31:42
回答 1查看 665关注 0票数 1

我正在试着画出通过两次考试的100名学生的分数。X值是第一次考试分数,Y值是第二次考试分数。我的数据框中有第三列,它要么是0,要么是1。如果他们以两次考试的分数被大学录取,那么在我的第三列中会用1表示。如果他们没有被录取,那么他们的分数是0。

我试着在他们没有被录取的时候画点,在他们被录取的时候画'+‘。

我该怎么做呢?

这是我现在拥有的代码:

代码语言:javascript
复制
data.plot(kind='scatter', x='First Exam Score', y='Second Exam Score', figsize=(12,8))

这是我现在的图表:

我希望一些点是点,另一些点是'+',这取决于它们在第三列中的值

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-27 02:46:34

您可以将所选数据绘制到同一个轴中:

代码语言:javascript
复制
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进行颜色编码:

代码语言:javascript
复制
sns.scatterplot(data=data, x='First', y='Second', hue='Admitted', style='Admitted')

输出:

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58122810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档