我有三列.但我感兴趣的是绘制两列相对的图.列的数据类型是datetime和object.datetime列名为started_at,object列名为member_casual.

    my DaraFrame(df) looks like this
    
rideable_type        started_at             member_casual
electric_bike    2021-06-13 14:31:28            casual
classic_bike     2021-06-04 11:18:02            member
classic_bike     2021-06-04 09:49:35            casual
calssic_bike     2021-06-04 09:55:34            casual
electric_bike    2021-06-04 14:05:51            casual    
classic_bike     2021-06-04 14:09:59            member
electric_bike    2021-06-03 19:32:01            casual
electric_bike    2021-06-10 16:30:10            member
   ...                ...                         ...
   ...                ...                         ...

此代码为我提供了计数member\u casual(y轴)相对于小时时间(x轴)的线图.

pd.crosstab(df.started_at.dt.hour,df.member_casual).plot(kind='line', ax = ax)

谁能告诉我如何使用seaborn或matplotlib绘制相同的绘图?

一、 这是我能做的最好的了.

try_1

 plt.plot(df.started_at.dt.hour, df.member_casual)

try_2

sns.lineplot(df.started_at.dt.hour, hue = df.member_casual)

当然,这两行代码都给了我一个错误.

推荐答案

您首先需要计算每小时发生的次数,例如,与您已经计算的方式相同:

ct = pd.crosstab(df.started_at.dt.hour, df.member_casual)
matplotlib step by step:
plt.plot(ct.index, ct.casual, label='casual')
plt.plot(ct.index, ct.member, label='member')
plt.legend()
matplotlib short form:
plt.plot(ct)
plt.legend(ct.columns)
seaborn:
sns.lineplot(data=ct)

Python相关问答推荐

Inquirer库不适用于Pyterfly

在IIS中运行的FastAPI-获取权限错误:[Win错误10013]试图以其访问权限禁止的方式访问插槽

Python(Polars):使用之前的变量确定当前解决方案的Vector化操作

带有Postgres的Flask-Data在调用少量API后崩溃

是否有方法将现有的X-Y图转换为X-Y-Y1图(以重新填充)?

从 struct 类型创建MultiPolygon对象,并使用Polars列出[list[f64]列

PyQt5如何将pyuic 5生成的Python类添加到QStackedWidget中?

在Pandas 日历中插入一行

如何在BeautifulSoup中链接Find()方法并处理无?

Pytest两个具有无限循环和await命令的Deliverc函数

scikit-learn导入无法导入名称METRIC_MAPPING64'

Mistral模型为不同的输入文本生成相同的嵌入

如何创建一个缓冲区周围的一行与manim?

pandas:排序多级列

如何保持服务器发送的事件连接活动?

Python中的变量每次增加超过1

Tkinter菜单自发添加额外项目

Geopandas未返回正确的缓冲区(单位:米)

在输入行运行时停止代码

将标签移动到matplotlib饼图中楔形块的开始处