下班回到家,回家途中瞄了下股票,大盘又是3000多只股票待涨, 盘中上证指数一度跌破2700。 估计不少人心里不爽,那就聊聊相关技术学习下。
之前写过【python技术】使用akshare、pandas、mplfinance绘制红绿色K线图简单示例 , 这里换一个库Pyecharts来画K线图。
1、在Pyecharts中,绘制K线图的基本参数包括:
data:K线图的数据,通常是一个包含开盘价、收盘价、最高价和最低价的列表。
xaxis_rotate:x轴标签旋转角度。
yaxis_min:y轴最小值。
yaxis_max:y轴最大值。
2、 自定义风格
Pyecharts允许用户通过一系列参数自定义K线图的风格,例如:
itemstyle_color:K线图的颜色。
is_datazoom_show:是否显示数据缩放工具栏。
is_legend_show:是否显示图例。
3、 K线图类型
Pyecharts支持多种K线图类型,包括普通K线图、蜡烛图、分时图等。通过设置不同的参数,可以切换不同类型的K线图。
这里写个简单DEMO,先看下实现效果:
实现代码如下:
import akshare as ak
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Kline, Line, Bar, Griddef fetch_stock_data(symbol, start_time, end_time,stock_name):# 利用 AKShare 获取股票的数据,这里只获取前 6 列stock_hfq_df = ak.stock_zh_a_hist(symbol, adjust="").iloc[:, :6]# 处理字段命名stock_hfq_df.columns = ['date','open','close','high','low','volume',]# 把 date 作为日期索引stock_hfq_df.index = pd.to_datetime(stock_hfq_df['date'])stock_hfq_df = stock_hfq_df[start_time:end_time]# 准备K线图所需的数据格式kline_data = stock_hfq_df[['open', 'close', 'low', 'high']].values.tolist()dates = stock_hfq_df.index.tolist()return kline_data, datesdef create_kline_chart(stock_code, kline_data, dates, stock_name):# 创建K线图kline = (Kline().add_xaxis(dates).add_yaxis("K线", kline_data).set_global_opts(title_opts=opts.TitleOpts(title=f"{stock_name} K线图"),xaxis_opts=opts.AxisOpts(is_scale=True),yaxis_opts=opts.AxisOpts(is_scale=True),datazoom_opts=[opts.DataZoomOpts()],))# 创建网格并添加K线图grid = Grid()grid.add(kline, grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%", height="80%"))return griddef main():# 指定股票代码stock_code = "600619"stock_name = "海立股份"start_time = "2024-08-01"end_time = "2024-09-18"# 获取股票数据kline_data, dates = fetch_stock_data(stock_code, start_time, end_time, stock_name)# 创建K线图chart = create_kline_chart(stock_code, kline_data, dates, stock_name)# 生成HTML文件chart.render(f"{stock_code}_kline_chart.html")print(f"K线图已生成:{stock_code}_kline_chart.html")if __name__ == "__main__":main()
安装好 akshare、pandas、pyecharts 就可以运行看到效果了
原文链接:【Python技术】使用akshare、pyecharts绘制K线图