主頁 > 知識庫 > Python繪制K線圖之可視化神器pyecharts的使用

Python繪制K線圖之可視化神器pyecharts的使用

熱門標簽:遼寧智能外呼系統(tǒng)需要多少錢 阿里電話機器人對話 螳螂科技外呼系統(tǒng)怎么用 正安縣地圖標注app 電銷機器人系統(tǒng)廠家鄭州 舉辦過冬奧會的城市地圖標注 地圖地圖標注有嘆號 400電話申請資格 qt百度地圖標注

K線圖

概念

股市及期貨市bai場中的K線圖的du畫法包含四個zhi數(shù)據(jù),即開盤dao價、最高價、最低價zhuan、收盤價,所有的shuk線都是圍繞這四個數(shù)據(jù)展開,反映大勢的狀況和價格信息。如果把每日的K線圖放在一張紙上,就能得到日K線圖,同樣也可畫出周K線圖、月K線圖。研究金融的小伙伴肯定比較熟悉這個,那么我們看起來比較復(fù)雜的K線圖,又是這樣畫出來的,本文我們將一起探索K線圖的魅力與神奇之處吧!

K線圖

用處

K線圖用處于股票分析,作為數(shù)據(jù)分析,以后的進入大數(shù)據(jù)肯定是一個趨勢和熱潮,K線圖的專業(yè)知識,說實話肯定比較的復(fù)雜,這里就不做過多的展示了,有興趣的小伙伴去問問百度小哥哥喲!

K線圖系列模板

最簡單的K線圖繪制

第一個K線圖繪制,來看看需要哪些參數(shù)吧,數(shù)據(jù)集都有四個必要的喲!

import pyecharts.options as opts
from pyecharts.charts import Candlestick
 
x_data = ["2017-10-24", "2017-10-25", "2017-10-26", "2017-10-27"]
y_data = [[20, 30, 10, 35], [40, 35, 30, 55], [33, 38, 33, 40], [40, 40, 32, 42]]
 
(
 Candlestick(init_opts=opts.InitOpts(width="1200px", height="600px"))
 .add_xaxis(xaxis_data=x_data)
 .add_yaxis(series_name="", y_axis=y_data)
 .set_series_opts()
 .set_global_opts(
  yaxis_opts=opts.AxisOpts(
   splitline_opts=opts.SplitLineOpts(
    is_show=True, linestyle_opts=opts.LineStyleOpts(width=1)
   )
  )
 )
 .render("簡單K線圖.html")
)

K線圖鼠標縮放

大量的數(shù)據(jù)集的時候,我們不可以全部同時展示,我們可以縮放來進行定向展示。

from pyecharts import options as opts
from 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],
]
 
 
c = (
 Kline()
 .add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
 .add_yaxis(
  "kline",
  data,
  itemstyle_opts=opts.ItemStyleOpts(
   color="#ec0000",
   color0="#00da3c",
   border_color="#8A0000",
   border_color0="#008F28",
  ),
 )
 .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(type_="inside")],
  title_opts=opts.TitleOpts(title="Kline-ItemStyle"),
 )
 .render("K線圖鼠標縮放.html")
)

有刻度標簽的K線圖

我們知道一個數(shù)據(jù)節(jié)點,但是我們不能在圖像里面一眼看出有哪些數(shù)據(jù)量超出了它的范圍,刻度標簽就可以派上用場了。

from pyecharts import options as opts
from 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],
]
 
c = (
 Kline()
 .add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
 .add_yaxis(
  "kline",
  data,
  markline_opts=opts.MarkLineOpts(
   data=[opts.MarkLineItem(type_="max", value_dim="close")]
  ),
 )
 .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)
   ),
  ),
  title_opts=opts.TitleOpts(title="標題"),
 )
 .render("刻度標簽.html")
)

K線圖鼠標無縮放

前面的是一個有縮放功能的圖例代碼,但是有時候我們不想要那么修改一下參數(shù)就可以了。

from pyecharts import options as opts
from 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],
]
 
 
c = (
 Kline()
 .add_xaxis(["2017/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="Kline-基本示例"),
 )
 .render("鼠標無縮放.html")
)

大量數(shù)據(jù)K線圖繪制(X軸鼠標可移動)

雖然有時候縮放可以容納較多的數(shù)據(jù)量,但是還是不夠智能,可以利用這個

from pyecharts import options as opts
from 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],
]
 
c = (
 Kline()
 .add_xaxis(["2017/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(pos_bottom="-2%")],
  title_opts=opts.TitleOpts(title="Kline-DataZoom-slider-Position"),
 )
 .render("大量數(shù)據(jù)展示.html")
)

K線圖的繪制需要有專業(yè)的基本知識喲,不然可能有點惱火了。

到此這篇關(guān)于Python繪制K線圖之可視化神器pyecharts的使用的文章就介紹到這了,更多相關(guān)Python繪制K線圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 使用Python畫股票的K線圖的方法步驟
  • 利用python numpy+matplotlib繪制股票k線圖的方法
  • Python繪制專業(yè)的K線圖 源代碼解析

標簽:阜新 隨州 濟源 信陽 興安盟 淘寶好評回訪 合肥 昭通

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Python繪制K線圖之可視化神器pyecharts的使用》,本文關(guān)鍵詞  Python,繪制,線圖,之,可視化,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python繪制K線圖之可視化神器pyecharts的使用》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python繪制K線圖之可視化神器pyecharts的使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章