bencampbell_14
bencampbell_14

Reputation: 607

Using pandas series date as xtick label

I have this dataframe called 'dfArrivalDate' (with the first 11 rows shown)

arrival_date  count
0    2013-06-08      9
1    2013-06-27      8
2    2013-03-06      8
3    2013-06-01      8
4    2013-06-28      6
5    2012-11-28      6
6    2013-06-11      5
7    2013-06-29      5
8    2013-06-09      4
9    2013-06-03      3
10   2013-05-31      3

sortedArrivalDate = transform.sort('arrival_date')

I wanted to plot them in a bar chart to see the count by arrival date. I called

sortedArrivalDate.plot(kind = 'bar') [![enter image description here][1]]

but i'm getting the index as the row ticks of my bar chart. I figured i need to use 'xticks'.

sortedArrivalDate.plot(kind = 'bar', xticks = sortedArrivalDate.arrival_date)

but I run into the error: TypeError: Cannot compare type 'Timestamp' with type 'float'

I tried a different approach.

fig, ax = plt.subplots()
ax.plot(sortedArrivalDate.arrival_date, sortedArrivalDate.count)

This time the error is ValueError: x and y must have same first dimension

I'm thinking this might just be an easy fix and since I don't have much experience coding in pandas and matplotlib, I might be missing a very simple thing here. Care to guide me in the right direction? thanks.

Upvotes: 0

Views: 197

Answers (1)

Scott Boston
Scott Boston

Reputation: 153460

IIUC:

df = df.sort_values(by='arrival_date')
df.plot(x='arrival_date', y='count', kind='bar')

enter image description here

Upvotes: 1

Related Questions