首页 > 解决方案 > 如何在 Pandas 中绘制条形图?

问题描述

我有一个似乎很基本的问题。我有一个数据框,想从一些列中绘制(busLine、PassengerCount、department_time、destination_time)

线 乘客人数 出发时间 目的地时间
AC03 11 2019-12-18 06:00:00 2019-12-18 06:30:00
CV47 24 2019-12-18 06:00:00 2019-12-18 06:30:00
DC15 1 2019-12-18 05:30:00 2019-12-18 06:00:00
... ... ... ...

我想在 x 轴 [departure_time,destination_time]、y 轴乘客计数中绘制,并根据时间和乘客人数用 Line (AC03, CV47, DC15) 标记条形。我对熊猫很陌生,发现很难实现。请问,如何有效地解决这个问题?

标签: pythonpandas

解决方案


您可以使用一些图形库。最标准的是matplotlib。我最喜欢的是 plotly,因为它创建了交互式图表,让您可以将鼠标悬停在特定数据点上以查看基础数据。Plotly 也有 IMO 有一个更好的 API,这使得创建图表变得更加简单。

要在 plotly 中创建条形图,您可以执行以下操作:

import plotly.graph_objects as go
fig = go.Figure(data=[
    go.Bar(name='Departure Time', x=df['departure_time'], y=df['PassengerCount'], color=df['Line']),
    go.Bar(name='Destination Time', x=df['destination_time'], y=df['PassengerCount'], color=df['Line'])
])

我认为这应该可以解决问题!

如果写出该代码不是自然而然的,那么还有一些 python 包可以为您提供用于创建这些图形的 GUI,我实际上是其中一个的创建者。如果您有兴趣,请查看Mito


推荐阅读