为了账号安全,请及时绑定邮箱和手机立即绑定

绘制带有标记的 plt 各种列

绘制带有标记的 plt 各种列

holdtom 2023-02-22 16:26:13
不确定如何从我的数据集中绘制各个列。使用 df.scatter 或 plt.plot(kind = 'scatter'...) 抛出“Line2D object has no property kind error”,所以我一直在使用 plt.plot(df['colname'], df['colname '], 'o').每个数据点都有以下信息:日期(日期时间.日期)企业数量(整数)大/小(字符串“B”或“S”)大小(1000 或小于 1000 的数量)我想创建一个散点图来绘制(x = 日期,y = 企业数量),同时根据每个数据点的大/小以及大小 = 1000 还是小于 1000 来标记/着色每个数据点。不确定如何执行此操作因为不断抛出错误(就我而言,我还需要清除 NA)
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

你可以尝试这样的事情:

fig,ax = plt.subplots()for k,d in df.groupby('Big/Small'):
    d.plot.scatter(x='date', y='Number of Business',
                   marker='o' if k=='B' else 'x',
                   color=np.where(d['Size']<1000, 'C0','C1'),
                   ax=ax
                  )

输出:

//img1.sycdn.imooc.com//63f5d1cc00014c2103860259.jpg

查看完整回答
反对 回复 2023-02-22
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

您可以像这样使用Seaborn 库很容易地做到这一点:

seaborn.scatterplot('Date', 'NoBus', hue='BigSmall', data=df,
            style=df['Size'].apply(lambda x: '<1000' if x<1000 else '=1000'))

这给出了这样的东西:

//img1.sycdn.imooc.com//63f5d1df0001b48504710309.jpg

查看完整回答
反对 回复 2023-02-22
  • 2 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号