我关于 Stackoverflow 的第一个问题。希望格式满足 Stackoverflow 的要求。
我正在学习 Python 并使用“mplfinance”来绘制 5 分钟的股票价格,但 x 轴上的时间不对。我的测试代码如下。该图的时间轴是“ 18:05, 18:30, 18:55, 19:20, 19:45, 20:10, 20:35 ”,它们根本不显示在数据文件中。我从雅虎提取了截至 2020 年 12 月 4 日(或 12 月 5 日)的 3 天数据,并在经过一些简单处理后绘制了最后 35 个点。(如果你在不同的日子运行程序,时间轴会不同)
感谢您的帮助和启发!
import pandas as pd
import yfinance as yf
import mplfinance as mpf
def plot_5min_chart():
# 5-minute data
mdata = yf.download('DDD', period='3d', interval='5m')
mdata = pd.DataFrame(mdata)
mdata['10ma'] = mdata['Close'].rolling(window=10, min_periods=0).mean()
mdata['20ma'] = mdata['Close'].rolling(window=20, min_periods=0).mean()
mdata['50ma'] = mdata['Close'].rolling(window=50, min_periods=0).mean()
mdata.dropna(inplace=True)
mdata.to_csv('test_5minute.csv')
# plot 5-minute chart
mpf.figure()
ntl2 = 35
kwargs = dict(type='candle', volume=True, figratio=(8,5),
figscale=0.85, num_panels=3, panel_ratios=(6,2,2))
ap2 = [
mpf.make_addplot(mdata['10ma'].tail(ntl2), width=2, linestyle='-', color='lime', panel=0),
mpf.make_addplot(mdata['20ma'].tail(ntl2), width=2, linestyle='--', color='c', panel=0),
mpf.make_addplot(mdata['50ma'].tail(ntl2), width=2, linestyle='-', color='orange', panel=0),
]
titlem = '5-minute chart'
mpf.plot(mdata.tail(ntl2),**kwargs, addplot=ap2, style='charles', title=titlem,
savefig=dict(fname='5minutechart.png', dpi=800, pad_inches=8)
)
plot_5min_chart()