我無法使這個非常簡單的例子的工作:Matplotlib條形圖與大熊貓時間戳
from numpy import datetime64
from pandas import Series
import matplotlib.pyplot as plt
import datetime
x = Series ([datetime64("2016-01-01"),datetime64("2016-02-01")]).astype(datetime)
y = Series ([0.1 , 0.2])
ax = plt.subplot(111)
ax.bar(x, y, width=10)
ax.xaxis_date()
plt.show()
我得到的錯誤是:
TypeError: float() argument must be a string or a number, not 'Timestamp'
注astype(datetime)
片 - 這是我試過在reading this other SO post之後。沒有那一塊,我會得到同樣的錯誤。
在另一方面,比如作品不夠用普通datetime64
類型 - 也就是,改變這些兩行:
x = [datetime64("2016-01-01"),datetime64("2016-02-01")]
y = [0.1 , 0.2]
所以這個問題必須Timestamp
型,大熊貓的datetime64
對象轉換成。有沒有辦法使這個工作直接與Timestamp
,而不是恢復到datetime64
?我在這裏使用Series
/Timestamp
,因爲我的真正目標是繪製DataFrame
系列。 (注:因爲我真實的例子是seaborn FacetGrid
內,我必須直接使用matplotlib我不能使用DataFrame
繪製方法。)
我的心願!不幸的是,在我真正的問題中,我正在使用一個「FacetGrid」,需要直接使用'matplotlib'。 –