3
這篇文章是有點長,所以這裏是最終的「問」前期:繪圖分組日期時間 - 熊貓
有沒有辦法來改變所產生的groupby
的x軸/索引或方式來傳遞axvspan
函數的其他類型參數?
我有一個DataFrame
與日期時間列,我已經編組了year
和weekofyear
。這工作正常,但x軸顯示爲一個元組。我想axvspan
,但我不知道該處理元組。
import numpy as np
import pandas as pd
import datetime
from matplotlib import pylab
import matplotlib.pyplot as plt
%matplotlib inline
query = ("https://data.cityofchicago.org/resource/6zsd-86xi.json?$where=year>2010")
raw_data = pd.read_json(query)
以下是DataFrame
的概述。我將要使用date
列。
raw_data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1706960 entries, 0 to 1706959
Data columns (total 22 columns):
arrest bool
beat int64
block object
case_number object
community_area float64
date datetime64[ns]
description object
district float64
domestic bool
fbi_code object
id int64
iucr object
latitude float64
location object
location_description object
longitude float64
primary_type object
updated_on object
ward float64
x_coordinate float64
y_coordinate float64
year int64
dtypes: bool(2), datetime64[ns](1), float64(7), int64(3), object(9)
memory usage: 263.7+ MB
首先,過濾所有的犯罪,但HOMICIDES。
# get murders
raw_data = raw_data[raw_data["primary_type"] == "HOMICIDE"]
# plot murder count by year and week of the year
plt.figure(figsize=(18, 6))
raw_data.groupby([raw_data.date.dt.year,
raw_data.date.dt.weekofyear])["community_area"].size().plot()
所以,你可以看到,x軸表示爲元組。就像我之前說的,我想添加一個axvspan
爲我的情節添加一個任意的綠色範圍。如果x軸保持它的日期時間結構,我可以把值函數像這樣,和它的工作:
這將燈罩圖表從2015年12月1日,在綠色的2016年1月1日。有沒有辦法將得到的groupby
的x軸/索引或將其他類型的參數傳遞給axvspan
函數的方法?