我有一个格式(HH:MM:SS.mmmmmm)的时间戳数组和另一个浮点数数组,每个数组对应一个timestamp数组中的值.
我可以使用Matplotlib在x轴上绘制时间和在y轴上绘制数字吗?
我试图,但不知何故,它只接受花车阵列.我怎样才能让它画出时间?我是否必须以任何方式修改格式?
我有一个简单的堆叠线图,它具有我想要使用以下代码时神奇地设置的日期格式.
df_ts = df.resample("W", how='max')
df_ts.plot(figsize=(12,8), stacked=True)
Run Code Online (Sandbox Code Playgroud)

然而,当绘制与条形图相同的数据时,日期神秘地将自身转换为丑陋且不可读的格式.
df_ts = df.resample("W", how='max')
df_ts.plot(kind='bar', figsize=(12,8), stacked=True)
Run Code Online (Sandbox Code Playgroud)

原始数据进行了一些转换,以获得每周最大值.为什么自动设定日期发生了根本变化?我怎样才能拥有如上所述的格式良好的日期?
这是一些虚拟数据
start = pd.to_datetime("1-1-2012")
idx = pd.date_range(start, periods= 365).tolist()
df=pd.DataFrame({'A':np.random.random(365), 'B':np.random.random(365)})
df.index = idx
df_ts = df.resample('W', how= 'max')
df_ts.plot(kind='bar', stacked=True)
Run Code Online (Sandbox Code Playgroud) 我有一个带有随机数的pandas数据帧,其中索引是类型dtype='datetime64[ns].您将在问题的最后找到可重现的代码.
当我使用时ax.dfplot(),我会得到一个格式精美的x轴,如下所示:
我想制作一个条形图,但是当我使用时ax = df.plot(kind = 'bar'),x轴会搞砸:
我怎么能改变这个?
谢谢你的任何建议!
输入数据框的可重现代码和两个第一个图表:
import pandas as pd
import numpy as np
import matplotlib.dates as mdates
# Dataframe with 1 or zero
np.random.seed(123)
rows = 10
df = pd.DataFrame(np.random.randint(90,110,size=(rows, 2)), columns=list('AB'))
datelist = pd.date_range(pd.datetime(2017, 1, 1).strftime('%Y-%m-%d'), periods=rows).tolist()
df['dates'] = datelist
df = df.set_index(['dates'])
df.index = pd.to_datetime(df.index)
print(df.head(10))
#print(df)
# Option 1
# -Time series
# -kind is undefined
title = 'time series'
ax = df.plot(title = title, fontsize …Run Code Online (Sandbox Code Playgroud)