python - Matplotlib bar plot with pandas Timestamp -
i having trouble making simple example work:
from numpy import datetime64 pandas import series import matplotlib.pyplot 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() the error is:
typeerror: float() argument must string or number, not 'timestamp' note astype(datetime) piece - tried after reading other post. without piece, same error.
on other hand, example works enough plain datetime64 types - is, changing these 2 lines:
x = [datetime64("2016-01-01"),datetime64("2016-02-01")] y = [0.1 , 0.2] so issue must timestamp type pandas converts datetime64 objects into. there way make work timestamp directly, , not revert datetime64? i'm using series/timestamp here because real objective plotting series dataframe. (note: cannot use dataframe plotting methods because real example inside seaborn facetgrid , have use matplotlib directly.)
use:
ax.bar(x.values, y, width=10) when using series objects. issue not sending object similar array, indexed array matplotlib not know how handle. values returns array
Comments
Post a Comment