软件测试|数据可视化神器——pyecharts 教程(五)
 作者:霍格沃兹测试开发学社
- 2023-11-15  北京
- 本文字数:3039 字 - 阅读完需:约 10 分钟 
前言
之前的几篇文章我们讲述了使用 pyecharts 绘制柱状图,地理信息图,饼图,双 y 轴图形的绘制,然后有朋友跟我说,最近沉迷股市,我这个框架能不能绘制 K 线图,他要从 K 线图中找规律,寻找逆风翻盘的机会,我跟他说,可以,安排,这篇文章我们就介绍一下使用 pyecharts 绘制 K 线图。
数据准备
首先,什么是 K 线图?K 线图,股市及期货市场中的 K 线图的画法包含四个数据,即开盘价、最高价、最低价、收盘价,所有的 k 线都是围绕这四个数据展开,反映大势的状况和价格信息。如果把每日的 K 线图放在一张纸上,就能得到日 K 线图,同样也可画出周 K 线图、月 K 线图。
我们本篇文章以日 K 线图为例进行绘制,所以我们就需要获得一支股票,一段时间内的开盘价、最高价、最低价、收盘价。
# 取一支股票某一个月每一个交易日的开盘价、最高价、最低价、收盘价,获取步骤下一篇文章我们将进行介绍data = [     [2320.26, 2320.26, 2287.3, 2362.94],     [2300, 2291.3, 2288.26, 2308.38],     [2295.35, 2346.5, 2295.35, 2345.92],     [2347.22, 2358.98, 2337.35, 2363.8],     [2360.75, 2382.48, 2347.89, 2383.76],     [2383.43, 2385.42, 2371.23, 2391.82],     [2377.41, 2419.02, 2369.57, 2421.15],     [2425.92, 2428.15, 2417.58, 2440.38],     [2411, 2433.13, 2403.3, 2437.42],     [2432.68, 2334.48, 2427.7, 2441.73],     [2430.69, 2418.53, 2394.22, 2433.89],     [2416.62, 2432.4, 2414.4, 2443.03],     [2441.91, 2421.56, 2418.43, 2444.8],     [2420.26, 2382.91, 2373.53, 2427.07],     [2383.49, 2397.18, 2370.61, 2397.94],     [2378.82, 2325.95, 2309.17, 2378.82],     [2322.94, 2314.16, 2308.76, 2330.88],     [2320.62, 2325.82, 2315.01, 2338.78],     [2313.74, 2293.34, 2289.89, 2340.71],     [2297.77, 2313.22, 2292.03, 2324.63],     [2322.32, 2365.59, 2308.92, 2366.16],     [2364.54, 2359.51, 2330.86, 2369.65],     [2332.08, 2273.4, 2259.25, 2333.54],     [2274.81, 2326.31, 2270.1, 2328.14],     [2333.61, 2347.18, 2321.6, 2351.44],     [2340.44, 2324.29, 2304.27, 2352.02],     [2326.42, 2318.61, 2314.59, 2333.67],     [2314.68, 2310.59, 2296.58, 2320.96],     [2309.16, 2286.6, 2264.83, 2333.29],     [2282.17, 2263.97, 2253.25, 2286.33],     [2255.77, 2270.28, 2253.31, 2276.22], ]
复制代码
 绘制 K 线图
绘制 K 线图需要先引入 Kline,pyecharts 直接支持 K 线图绘制,下面是我们的代码。
from pyecharts import options as optsfrom pyecharts.charts import Kline
data = [    [2320.26, 2320.26, 2287.3, 2362.94],    [2300, 2291.3, 2288.26, 2308.38],    [2295.35, 2346.5, 2295.35, 2345.92],    [2347.22, 2358.98, 2337.35, 2363.8],    [2360.75, 2382.48, 2347.89, 2383.76],    [2383.43, 2385.42, 2371.23, 2391.82],    [2377.41, 2419.02, 2369.57, 2421.15],    [2425.92, 2428.15, 2417.58, 2440.38],    [2411, 2433.13, 2403.3, 2437.42],    [2432.68, 2334.48, 2427.7, 2441.73],    [2430.69, 2418.53, 2394.22, 2433.89],    [2416.62, 2432.4, 2414.4, 2443.03],    [2441.91, 2421.56, 2418.43, 2444.8],    [2420.26, 2382.91, 2373.53, 2427.07],    [2383.49, 2397.18, 2370.61, 2397.94],    [2378.82, 2325.95, 2309.17, 2378.82],    [2322.94, 2314.16, 2308.76, 2330.88],    [2320.62, 2325.82, 2315.01, 2338.78],    [2313.74, 2293.34, 2289.89, 2340.71],    [2297.77, 2313.22, 2292.03, 2324.63],    [2322.32, 2365.59, 2308.92, 2366.16],    [2364.54, 2359.51, 2330.86, 2369.65],    [2332.08, 2273.4, 2259.25, 2333.54],    [2274.81, 2326.31, 2270.1, 2328.14],    [2333.61, 2347.18, 2321.6, 2351.44],    [2340.44, 2324.29, 2304.27, 2352.02],    [2326.42, 2318.61, 2314.59, 2333.67],    [2314.68, 2310.59, 2296.58, 2320.96],    [2309.16, 2286.6, 2264.83, 2333.29],    [2282.17, 2263.97, 2253.25, 2286.33],    [2255.77, 2270.28, 2253.31, 2276.22],]
kline = (    Kline()        .add_xaxis(["2022/7/{}".format(i + 1) for i in range(31)])        .add_yaxis("kline", data)        .set_global_opts(        yaxis_opts=opts.AxisOpts(is_scale=True),        xaxis_opts=opts.AxisOpts(is_scale=True),        title_opts=opts.TitleOpts(title="某股票2022年7月份K线图"),    ))kline.render()
复制代码
 绘制图像如下:
 
 绘制可滑动 K 线图
上方代码绘制的图像将每一天的股价进行了展示,但是还不够方便我们的阅读,我们可以加上滑动的参数,使得我们查看 K 线图更加方便,我们只需要加上滑动的代码即可。代码如下:
from pyecharts import options as optsfrom pyecharts.charts import Kline
data = [    [2320.26, 2320.26, 2287.3, 2362.94],    [2300, 2291.3, 2288.26, 2308.38],    [2295.35, 2346.5, 2295.35, 2345.92],    [2347.22, 2358.98, 2337.35, 2363.8],    [2360.75, 2382.48, 2347.89, 2383.76],    [2383.43, 2385.42, 2371.23, 2391.82],    [2377.41, 2419.02, 2369.57, 2421.15],    [2425.92, 2428.15, 2417.58, 2440.38],    [2411, 2433.13, 2403.3, 2437.42],    [2432.68, 2334.48, 2427.7, 2441.73],    [2430.69, 2418.53, 2394.22, 2433.89],    [2416.62, 2432.4, 2414.4, 2443.03],    [2441.91, 2421.56, 2418.43, 2444.8],    [2420.26, 2382.91, 2373.53, 2427.07],    [2383.49, 2397.18, 2370.61, 2397.94],    [2378.82, 2325.95, 2309.17, 2378.82],    [2322.94, 2314.16, 2308.76, 2330.88],    [2320.62, 2325.82, 2315.01, 2338.78],    [2313.74, 2293.34, 2289.89, 2340.71],    [2297.77, 2313.22, 2292.03, 2324.63],    [2322.32, 2365.59, 2308.92, 2366.16],    [2364.54, 2359.51, 2330.86, 2369.65],    [2332.08, 2273.4, 2259.25, 2333.54],    [2274.81, 2326.31, 2270.1, 2328.14],    [2333.61, 2347.18, 2321.6, 2351.44],    [2340.44, 2324.29, 2304.27, 2352.02],    [2326.42, 2318.61, 2314.59, 2333.67],    [2314.68, 2310.59, 2296.58, 2320.96],    [2309.16, 2286.6, 2264.83, 2333.29],    [2282.17, 2263.97, 2253.25, 2286.33],    [2255.77, 2270.28, 2253.31, 2276.22],]
kline = (    Kline()        .add_xaxis(["2012/7/{}".format(i + 1) for i in range(31)])        .add_yaxis("kline", 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()],        title_opts=opts.TitleOpts(title="某股票2022年7月滑动K线图"),    ))kline.render()
复制代码
 绘制图像如下:
 
 总结
本文主要介绍了使用 pyecharts 绘制 K 线图的步骤,下一篇文章我们将讲解获取股票价格数据的步骤,期待大家的拍砖和建议。
获取更多技术资料,请点击!
划线
评论
复制
发布于: 刚刚阅读数: 5

霍格沃兹测试开发学社
关注
社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入
微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。










 
    
评论