脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python绘制K线图之可视化神器pyecharts的使用

Python绘制K线图之可视化神器pyecharts的使用

2021-09-12 00:55王小王-123 Python

这篇文章主要介绍了Python绘制K线图之可视化神器pyecharts的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

K线图

Python绘制K线图之可视化神器pyecharts的使用

概念

股市及期货市bai场中的K线图的du画法包含四个zhi数据,即开盘dao价、最高价、最低价zhuan、收盘价,所有的shuk线都是围绕这四个数据展开,反映大势的状况和价格信息。如果把每日的K线图放在一张纸上,就能得到日K线图,同样也可画出周K线图、月K线图。研究金融的小伙伴肯定比较熟悉这个,那么我们看起来比较复杂的K线图,又是这样画出来的,本文我们将一起探索K线图的魅力与神奇之处吧!

K线图

用处

K线图用处于股票分析,作为数据分析,以后的进入大数据肯定是一个趋势和热潮,K线图的专业知识,说实话肯定比较的复杂,这里就不做过多的展示了,有兴趣的小伙伴去问问百度小哥哥哟!

K线图系列模板

最简单的K线图绘制

第一个K线图绘制,来看看需要哪些参数吧,数据集都有四个必要的哟!

  1. import pyecharts.options as opts
  2. from pyecharts.charts import Candlestick
  3.  
  4. x_data = ["2017-10-24", "2017-10-25", "2017-10-26", "2017-10-27"]
  5. y_data = [[20, 30, 10, 35], [40, 35, 30, 55], [33, 38, 33, 40], [40, 40, 32, 42]]
  6.  
  7. (
  8. Candlestick(init_opts=opts.InitOpts(width="1200px", height="600px"))
  9. .add_xaxis(xaxis_data=x_data)
  10. .add_yaxis(series_name="", y_axis=y_data)
  11. .set_series_opts()
  12. .set_global_opts(
  13. yaxis_opts=opts.AxisOpts(
  14. splitline_opts=opts.SplitLineOpts(
  15. is_show=True, linestyle_opts=opts.LineStyleOpts(width=1)
  16. )
  17. )
  18. )
  19. .render("简单K线图.html")
  20. )

Python绘制K线图之可视化神器pyecharts的使用

K线图鼠标缩放

大量的数据集的时候,我们不可以全部同时展示,我们可以缩放来进行定向展示。

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Kline
  3.  
  4. data = [
  5. [2320.26, 2320.26, 2287.3, 2362.94],
  6. [2300, 2291.3, 2288.26, 2308.38],
  7. [2295.35, 2346.5, 2295.35, 2345.92],
  8. [2347.22, 2358.98, 2337.35, 2363.8],
  9. [2360.75, 2382.48, 2347.89, 2383.76],
  10. [2383.43, 2385.42, 2371.23, 2391.82],
  11. [2377.41, 2419.02, 2369.57, 2421.15],
  12. [2425.92, 2428.15, 2417.58, 2440.38],
  13. [2411, 2433.13, 2403.3, 2437.42],
  14. [2432.68, 2334.48, 2427.7, 2441.73],
  15. [2430.69, 2418.53, 2394.22, 2433.89],
  16. [2416.62, 2432.4, 2414.4, 2443.03],
  17. [2441.91, 2421.56, 2418.43, 2444.8],
  18. [2420.26, 2382.91, 2373.53, 2427.07],
  19. [2383.49, 2397.18, 2370.61, 2397.94],
  20. [2378.82, 2325.95, 2309.17, 2378.82],
  21. [2322.94, 2314.16, 2308.76, 2330.88],
  22. [2320.62, 2325.82, 2315.01, 2338.78],
  23. [2313.74, 2293.34, 2289.89, 2340.71],
  24. [2297.77, 2313.22, 2292.03, 2324.63],
  25. [2322.32, 2365.59, 2308.92, 2366.16],
  26. [2364.54, 2359.51, 2330.86, 2369.65],
  27. [2332.08, 2273.4, 2259.25, 2333.54],
  28. [2274.81, 2326.31, 2270.1, 2328.14],
  29. [2333.61, 2347.18, 2321.6, 2351.44],
  30. [2340.44, 2324.29, 2304.27, 2352.02],
  31. [2326.42, 2318.61, 2314.59, 2333.67],
  32. [2314.68, 2310.59, 2296.58, 2320.96],
  33. [2309.16, 2286.6, 2264.83, 2333.29],
  34. [2282.17, 2263.97, 2253.25, 2286.33],
  35. [2255.77, 2270.28, 2253.31, 2276.22],
  36. ]
  37.  
  38. c = (
  39. Kline()
  40. .add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
  41. .add_yaxis(
  42. "kline",
  43. data,
  44. itemstyle_opts=opts.ItemStyleOpts(
  45. color="#ec0000",
  46. color0="#00da3c",
  47. border_color="#8A0000",
  48. border_color0="#008F28",
  49. ),
  50. )
  51. .set_global_opts(
  52. xaxis_opts=opts.AxisOpts(is_scale=True),
  53. yaxis_opts=opts.AxisOpts(
  54. is_scale=True,
  55. splitarea_opts=opts.SplitAreaOpts(
  56. is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
  57. ),
  58. ),
  59. datazoom_opts=[opts.DataZoomOpts(type_="inside")],
  60. title_opts=opts.TitleOpts(title="Kline-ItemStyle"),
  61. )
  62. .render("K线图鼠标缩放.html")
  63. )

Python绘制K线图之可视化神器pyecharts的使用

有刻度标签的K线图

我们知道一个数据节点,但是我们不能在图像里面一眼看出有哪些数据量超出了它的范围,刻度标签就可以派上用场了。

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Kline
  3.  
  4. data = [
  5. [2320.26, 2320.26, 2287.3, 2362.94],
  6. [2300, 2291.3, 2288.26, 2308.38],
  7. [2295.35, 2346.5, 2295.35, 2345.92],
  8. [2347.22, 2358.98, 2337.35, 2363.8],
  9. [2360.75, 2382.48, 2347.89, 2383.76],
  10. [2383.43, 2385.42, 2371.23, 2391.82],
  11. [2377.41, 2419.02, 2369.57, 2421.15],
  12. [2425.92, 2428.15, 2417.58, 2440.38],
  13. [2411, 2433.13, 2403.3, 2437.42],
  14. [2432.68, 2334.48, 2427.7, 2441.73],
  15. [2430.69, 2418.53, 2394.22, 2433.89],
  16. [2416.62, 2432.4, 2414.4, 2443.03],
  17. [2441.91, 2421.56, 2418.43, 2444.8],
  18. [2420.26, 2382.91, 2373.53, 2427.07],
  19. [2383.49, 2397.18, 2370.61, 2397.94],
  20. [2378.82, 2325.95, 2309.17, 2378.82],
  21. [2322.94, 2314.16, 2308.76, 2330.88],
  22. [2320.62, 2325.82, 2315.01, 2338.78],
  23. [2313.74, 2293.34, 2289.89, 2340.71],
  24. [2297.77, 2313.22, 2292.03, 2324.63],
  25. [2322.32, 2365.59, 2308.92, 2366.16],
  26. [2364.54, 2359.51, 2330.86, 2369.65],
  27. [2332.08, 2273.4, 2259.25, 2333.54],
  28. [2274.81, 2326.31, 2270.1, 2328.14],
  29. [2333.61, 2347.18, 2321.6, 2351.44],
  30. [2340.44, 2324.29, 2304.27, 2352.02],
  31. [2326.42, 2318.61, 2314.59, 2333.67],
  32. [2314.68, 2310.59, 2296.58, 2320.96],
  33. [2309.16, 2286.6, 2264.83, 2333.29],
  34. [2282.17, 2263.97, 2253.25, 2286.33],
  35. [2255.77, 2270.28, 2253.31, 2276.22],
  36. ]
  37.  
  38. c = (
  39. Kline()
  40. .add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
  41. .add_yaxis(
  42. "kline",
  43. data,
  44. markline_opts=opts.MarkLineOpts(
  45. data=[opts.MarkLineItem(type_="max", value_dim="close")]
  46. ),
  47. )
  48. .set_global_opts(
  49. xaxis_opts=opts.AxisOpts(is_scale=True),
  50. yaxis_opts=opts.AxisOpts(
  51. is_scale=True,
  52. splitarea_opts=opts.SplitAreaOpts(
  53. is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
  54. ),
  55. ),
  56. title_opts=opts.TitleOpts(title="标题"),
  57. )
  58. .render("刻度标签.html")
  59. )

Python绘制K线图之可视化神器pyecharts的使用

K线图鼠标无缩放

前面的是一个有缩放功能的图例代码,但是有时候我们不想要那么修改一下参数就可以了。

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Kline
  3.  
  4. data = [
  5. [2320.26, 2320.26, 2287.3, 2362.94],
  6. [2300, 2291.3, 2288.26, 2308.38],
  7. [2295.35, 2346.5, 2295.35, 2345.92],
  8. [2347.22, 2358.98, 2337.35, 2363.8],
  9. [2360.75, 2382.48, 2347.89, 2383.76],
  10. [2383.43, 2385.42, 2371.23, 2391.82],
  11. [2377.41, 2419.02, 2369.57, 2421.15],
  12. [2425.92, 2428.15, 2417.58, 2440.38],
  13. [2411, 2433.13, 2403.3, 2437.42],
  14. [2432.68, 2334.48, 2427.7, 2441.73],
  15. [2430.69, 2418.53, 2394.22, 2433.89],
  16. [2416.62, 2432.4, 2414.4, 2443.03],
  17. [2441.91, 2421.56, 2418.43, 2444.8],
  18. [2420.26, 2382.91, 2373.53, 2427.07],
  19. [2383.49, 2397.18, 2370.61, 2397.94],
  20. [2378.82, 2325.95, 2309.17, 2378.82],
  21. [2322.94, 2314.16, 2308.76, 2330.88],
  22. [2320.62, 2325.82, 2315.01, 2338.78],
  23. [2313.74, 2293.34, 2289.89, 2340.71],
  24. [2297.77, 2313.22, 2292.03, 2324.63],
  25. [2322.32, 2365.59, 2308.92, 2366.16],
  26. [2364.54, 2359.51, 2330.86, 2369.65],
  27. [2332.08, 2273.4, 2259.25, 2333.54],
  28. [2274.81, 2326.31, 2270.1, 2328.14],
  29. [2333.61, 2347.18, 2321.6, 2351.44],
  30. [2340.44, 2324.29, 2304.27, 2352.02],
  31. [2326.42, 2318.61, 2314.59, 2333.67],
  32. [2314.68, 2310.59, 2296.58, 2320.96],
  33. [2309.16, 2286.6, 2264.83, 2333.29],
  34. [2282.17, 2263.97, 2253.25, 2286.33],
  35. [2255.77, 2270.28, 2253.31, 2276.22],
  36. ]
  37.  
  38. c = (
  39. Kline()
  40. .add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
  41. .add_yaxis("kline", data)
  42. .set_global_opts(
  43. yaxis_opts=opts.AxisOpts(is_scale=True),
  44. xaxis_opts=opts.AxisOpts(is_scale=True),
  45. title_opts=opts.TitleOpts(title="Kline-基本示例"),
  46. )
  47. .render("鼠标无缩放.html")
  48. )

Python绘制K线图之可视化神器pyecharts的使用

大量数据K线图绘制(X轴鼠标可移动)

虽然有时候缩放可以容纳较多的数据量,但是还是不够智能,可以利用这个

  1. from pyecharts import options as opts
  2. from pyecharts.charts import Kline
  3.  
  4. data = [
  5. [2320.26, 2320.26, 2287.3, 2362.94],
  6. [2300, 2291.3, 2288.26, 2308.38],
  7. [2295.35, 2346.5, 2295.35, 2345.92],
  8. [2347.22, 2358.98, 2337.35, 2363.8],
  9. [2360.75, 2382.48, 2347.89, 2383.76],
  10. [2383.43, 2385.42, 2371.23, 2391.82],
  11. [2377.41, 2419.02, 2369.57, 2421.15],
  12. [2425.92, 2428.15, 2417.58, 2440.38],
  13. [2411, 2433.13, 2403.3, 2437.42],
  14. [2432.68, 2334.48, 2427.7, 2441.73],
  15. [2430.69, 2418.53, 2394.22, 2433.89],
  16. [2416.62, 2432.4, 2414.4, 2443.03],
  17. [2441.91, 2421.56, 2418.43, 2444.8],
  18. [2420.26, 2382.91, 2373.53, 2427.07],
  19. [2383.49, 2397.18, 2370.61, 2397.94],
  20. [2378.82, 2325.95, 2309.17, 2378.82],
  21. [2322.94, 2314.16, 2308.76, 2330.88],
  22. [2320.62, 2325.82, 2315.01, 2338.78],
  23. [2313.74, 2293.34, 2289.89, 2340.71],
  24. [2297.77, 2313.22, 2292.03, 2324.63],
  25. [2322.32, 2365.59, 2308.92, 2366.16],
  26. [2364.54, 2359.51, 2330.86, 2369.65],
  27. [2332.08, 2273.4, 2259.25, 2333.54],
  28. [2274.81, 2326.31, 2270.1, 2328.14],
  29. [2333.61, 2347.18, 2321.6, 2351.44],
  30. [2340.44, 2324.29, 2304.27, 2352.02],
  31. [2326.42, 2318.61, 2314.59, 2333.67],
  32. [2314.68, 2310.59, 2296.58, 2320.96],
  33. [2309.16, 2286.6, 2264.83, 2333.29],
  34. [2282.17, 2263.97, 2253.25, 2286.33],
  35. [2255.77, 2270.28, 2253.31, 2276.22],
  36. ]
  37.  
  38. c = (
  39. Kline()
  40. .add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
  41. .add_yaxis("kline", data)
  42. .set_global_opts(
  43. xaxis_opts=opts.AxisOpts(is_scale=True),
  44. yaxis_opts=opts.AxisOpts(
  45. is_scale=True,
  46. splitarea_opts=opts.SplitAreaOpts(
  47. is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
  48. ),
  49. ),
  50. datazoom_opts=[opts.DataZoomOpts(pos_bottom="-2%")],
  51. title_opts=opts.TitleOpts(title="Kline-DataZoom-slider-Position"),
  52. )
  53. .render("大量数据展示.html")
  54. )

Python绘制K线图之可视化神器pyecharts的使用

Python绘制K线图之可视化神器pyecharts的使用

K线图的绘制需要有专业的基本知识哟,不然可能有点恼火了。

到此这篇关于Python绘制K线图之可视化神器pyecharts的使用的文章就介绍到这了,更多相关Python绘制K线图内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_47723732/article/details/113887876

延伸 · 阅读

精彩推荐