首页 > 解决方案 > 我能做些什么来改变 x 轴上的时间间隔

问题描述

import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader as web

#This makes a chart w/3 hour intervals and I would need something like 30 minutes
style.use("ggplot")
start = dt.datetime(2019,4,24)
end = dt.datetime(2019,5,25)
df = web.get_data_yahoo("TSLA", start, end)
df["Adj Close"].plot()
plt.title('Tesla Price v. First Quarter Earnings 2019')
plt.ylabel('USD')
plt.show()

标签: pythonpandasmatplotlibpandas-datareader

解决方案


以下示例显示了如何以 7 天为间隔设置主要刻度并隐藏次要刻度作为示例。其他变体可以在 formatter pageLocator page 上找到。

import datetime as dt
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from matplotlib import style
import pandas as pd
import pandas_datareader as web

fig, ax = plt.subplots()
#This makes a chart w/3 hour intervals and I would need something like 30 minutes
style.use("ggplot")
start = dt.datetime(2019,4,24)
end = dt.datetime(2019,5,25)
df = web.get_data_yahoo("TSLA", start, end)

ax = df["Adj Close"].plot()
days = mdates.DayLocator(interval=7)
days_fmt = mdates.DateFormatter('%m/%d')
ax.xaxis.set_major_locator(days)
ax.xaxis.set_major_formatter(days_fmt)
ax.minorticks_off()

plt.title('Tesla Price v. First Quarter Earnings 2019')
plt.ylabel('USD')
plt.show()

在此处输入图像描述


推荐阅读