# 读取数据
df = pd.read_csv(" 广州酒家日线数据 .csv")
# 设置索引,将字符串格式的日期转化为时间序列的形式,这样可以很大程度上方便我们索引
df.index = pd.to_datetime(df.Date)
# 提取收盘价
Close = df.Close
# 求取 5 日简单移动平均数
Sma5 = pd.Series(0.0, index=Close.index)
for i in range(4, len(Close)):
Sma5[i] = round(sum(Close[i-4:(i+1)])/5,2)
# 求取 10 日简单移动平均数
Sma10 = pd.Series(0.0, index=Close.index)
for i in range(9, len(Close)):
Sma10[i] = 跟单网gendan5.comround(sum(Close[i-9:(i+1)])/10,2)
# 绘制折线图,即 5 日移动平均,和 10 日移动平均
line = (
Line(init_opts=opts.InitOpts(width='1000px',
height='800px',
chart_id='1'
)
)
.add_xaxis(df.Date['2022-8'].values.tolist())
.add_yaxis(" 收盘价 ", Close['2022-8'].values.tolist())
.add_yaxis(" 五日移动平均线 ", Sma5['2022-8'].values.tolist())
.add_yaxis(" 十日移动平均线 ", Sma10['2022-8'].values.tolist())
# 全局配置项内容
.set_global_opts(title_opts=opts.TitleOpts(title=" 广州酒家 2022 年 8 月收盘数据折线图 ", subtitle=" 附 5&10 日 MAV 图 "),
yaxis_opts=opts.AxisOpts(min_='dataMin')
)
.set_series_opts(
linestyle_opts=opts.LineStyleOpts(
width=8,
opacity=1,)
)
)
# 绘制蜡烛图
# 这里需要把数据转化为 [[],[],...,[]] 的形式 而且,一定要注意, pyecharts 要求的数据顺序是:开 收 低 高。
data = [list(i) for i in df.loc['2022-8', ['Open', 'Close', 'Low', 'High']].values]
kline = (
Kline(init_opts=opts.InitOpts(width='1000px',
height='800px',
chart_id='2',
page_title=" 广州酒家 "))
.add_xaxis(df.Date['2022-8'].values.tolist())
.add_yaxis(" 广州酒家 ", data)
.set_global_opts(
xaxis_opts=opts.AxisOpts(is_scale=True),
yaxis_opts=opts.AxisOpts(
is_scale=True,
splitarea_opts=opts.SplitAreaOpts(
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
),
),
datazoom_opts=[opts.DataZoomOpts(pos_bottom="-2%")],
title_opts=opts.TitleOpts(title=" 广州酒家蜡烛图 "),
)
)
# 顺序多图
page = Page(layout=Page.DraggablePageLayout)
page.add(
line,
kline
)
page.render('render.html')
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946337/viewspace-2913945/ ,如需转载,请注明出处,否则将追究法律责任。