带条形图的X轴的日期格式

时间:2018-09-26 21:38:34

标签: python pandas date matplotlib

我是一个初学者,我正在尝试在matplotlib上创建条形图。我正在使用金融工具导入包含每日交易量数据的CSV文件。我已经能够成功按月汇总数据,现在尝试绘制每月交易量图表。

我正在尝试格式化X轴数据,因为它目前显示的是分钟,小时和秒,还包括天,月和年。

我怀疑这很简单,但是已经在这个问题上坐了几个小时,无法解决它。任何帮助将不胜感激。我需要将日期格式显示为YYYY-MM,而不是此处显示的格式:

``

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.dates import DateFormatter
import matplotlib.dates as mdates

df = pd.read_csv('C:/Users/gregor/Documents/Python Scripts/data.csv', infer_datetime_format='True')

df['date']=pd.to_datetime(df['date'])
#

df.set_index('date', inplace=True)

volume = df['volume'].resample('MS').sum()
oi = df['open interest'].resample('MS').mean()

xaxis = np.arange(len(volume))

plt.bar(xaxis,volume,align='edge')
plt.xticks(xaxis,volume.index, rotation = 45)


plt.autofmt_xdate()
plt.show()

``

编辑-它与以下代码一起使用,现在的图表如下:enter image description here

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.dates import DateFormatter
import matplotlib.dates as mdates

df = pd.read_csv('C:/Users/gregor/Documents/Python Scripts/data.csv', infer_datetime_format='True')

df['date']=pd.to_datetime(df['date'])
#

df.set_index('date', inplace=True)


myFmt = mdates.DateFormatter('%Y-%m')


volume = df['volume'].resample('MS').sum()
oi = df['open interest'].resample('MS').mean()

xaxis = np.arange(len(volume))

fig,ax = plt.subplots()

ax.bar(volume.index,volume,width=15)
ax.xaxis.set_major_formatter(myFmt)

plt.show()

0 个答案:

没有答案