猿问

绘制带有标记的 plt 各种列

不确定如何从我的数据集中绘制各个列。使用 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)


holdtom
浏览 145回答 2
2回答

侃侃尔雅

你可以尝试这样的事情:fig,ax&nbsp;=&nbsp;plt.subplots()for&nbsp;k,d&nbsp;in&nbsp;df.groupby('Big/Small'): &nbsp;&nbsp;&nbsp;&nbsp;d.plot.scatter(x='date',&nbsp;y='Number&nbsp;of&nbsp;Business', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;marker='o'&nbsp;if&nbsp;k=='B'&nbsp;else&nbsp;'x', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color=np.where(d['Size']<1000,&nbsp;'C0','C1'), &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ax=ax &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)输出:

凤凰求蛊

您可以像这样使用Seaborn 库很容易地做到这一点:seaborn.scatterplot('Date',&nbsp;'NoBus',&nbsp;hue='BigSmall',&nbsp;data=df, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style=df['Size'].apply(lambda&nbsp;x:&nbsp;'<1000'&nbsp;if&nbsp;x<1000&nbsp;else&nbsp;'=1000'))这给出了这样的东西:
随时随地看视频慕课网APP

相关分类

Python
我要回答