In [164]:
# -*- coding:utf-8 -*-
import tushare as ts
import matplotlib.pyplot as plt
#import matplotlib.finance as mpf
import mpl_finance as mpf
import matplotlib.ticker as ticker
import datetime
import numpy as np
import pandas as pd
import time
from pyecharts import Overlap
from pyecharts import Kline
from pyecharts import Line
from pyecharts import Bar
from pyecharts import Grid
from pandas import DataFrame, Series
In [165]:
def n_days_ago(n):
today=datetime.date.today()
ndays_ago=today-datetime.timedelta(n)
return str(ndays_ago)
def hhv(s, n):
return Series.rolling(s, n).max()
def llv(s, n):
return Series.rolling(s, n).min()
#ichimoku
def ichimoku(s, n1=9, n2=26, n3=52):
#average of N-day high and N-day low
conv = (hhv(s, n1) + llv(s, n1)) / 2
#mid point of the latest 26 days
base = (hhv(s, n2) + llv(s, n2)) / 2
#mid-point between the first 2 lines, and plot 26 periods ahead
spana = (conv + base) / 2
#mid-point between the 52-period low and 52-period high, and plot 26 periods
spanb = (hhv(s, n3) + llv(s, n3)) / 2
k = s
#Lspan is closing price, and plot 26 periods in the past
return DataFrame(dict(k=k,conv=conv, base=base, spana=spana.shift(n2),
spanb=spanb.shift(n2), lspan=s.shift(-n2)))
In [166]:
start_date = '2018-07-01'
now = int(time.time())
timeArray = time.localtime(now)
Time = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
end_date = Time
ndays = 180
stock_selected = '600487'
MAX_SMA=100
start_date = n_days_ago(ndays + MAX_SMA)
ktype = '240'
In [167]:
df = ts.get_k_data(stock_selected,start_date,end_date,ktype = '60')
v_kline = np.array(df[['open','close','low','high']][MAX_SMA:])
date_kline = []
for i,j in enumerate(np.array(df[['date']][MAX_SMA:])):
#print(j)
temp_str = str(j[0]).replace('-0','/')
date_kline.append(temp_str.replace('-','/'))
In [168]:
SMA5 = np.array(pd.Series.rolling(df[['close']],5).mean()[MAX_SMA:])
SMA100 = np.array(pd.Series.rolling(df[['close']],100).mean()[MAX_SMA:])
SMA55 = np.array(pd.Series.rolling(df[['close']],55).mean()[MAX_SMA:])
v_volume = np.array(df['volume'][MAX_SMA:])
In [169]:
kline = Kline("K 线图示例")
kline.add("日K",
date_kline,
v_kline,
mark_point=["max","min"],
mark_line=["max"],
is_datazoom_show=True
)
sma_line = Line(width=10)
volume_bar = Bar()
volume_bar.add("",date_kline, v_volume)
overlap = Overlap()
sma_line.add("SMA5", date_kline,SMA5,is_symbol_show=False)
sma_line.add("SMA55",date_kline,SMA55,is_symbol_show=False)
sma_line.add("SMA100",date_kline,SMA100,is_symbol_show=False)
#ichimoku fill between
#plt.fill_between(df.index, df['spana'], df['spanb'], where=df['spanb'] >= df['spana'], facecolor='red', interpolate=True)
#plt.fill_between(df.index, df['spana'], df['spanb'], where=df['spanb'] <= df['spana'], facecolor='green', interpolate=True)
df_ich = ichimoku(df['close'])
sma_line.add("base", date_kline,np.array(df_ich['base'])[MAX_SMA:], is_symbol_show=False, is_more_utils=True)
sma_line.add("conv", date_kline,np.array(df_ich['conv'])[MAX_SMA:],is_symbol_show=False,is_more_utils=True)
sma_line.add("spana", date_kline,np.array(df_ich['spana'])[MAX_SMA:],is_symbol_show=False,is_more_utils=True,
is_fill=True, line_opacity=0.2, area_opacity=0.7)
sma_line.add("spanb", date_kline,np.array(df_ich['spanb'])[MAX_SMA:],is_symbol_show=False,is_more_utils=True,
is_fill=True, line_opacity=0.2, area_opacity=0.3)
#l = Line()
#l.add('WMA20', date, wma20.round(2), line_color='#8000ff', is_symbol_show=False, )
for i in range(5):
sma_line._option['series'][i]['lineStyle']['normal']['width']=4
overlap.add(kline)
overlap.add(sma_line)
grid = Grid(height=600,width=1000)
grid.add(overlap, grid_bottom="55%")
grid.add(volume_bar, grid_top="55%")
#grid.render()
Out[169]:
In [170]:
#sma_line.print_echarts_options()
#kline._option['series'][0]['itemStyle']['normal']['borderColor'] = NULL
sma_line._option['series'][1]['lineStyle']['normal']={
"opacity": 1,
"type": "solid",
"curveness": 0,
"width": 4
}
In [171]:
kline.print_echarts_options()
function kline_tooltip_formatter(params) {
var text;
text = ((((((((((((params[0].seriesName + "<br/>") + "- open:") + params[0].data[1]) + "<br/>") + "- close:") + params[0].data[2]) + "<br/>") + "- lowest:") + params[0].data[3]) + "<br/>") + "- highest:") + params[0].data[4]);
return text;
}
{
"title": [
{
"text": "K \u7ebf\u56fe\u793a\u4f8b",
"left": "auto",
"top": "auto",
"textStyle": {
"fontSize": 18
},
"subtextStyle": {
"fontSize": 12
}
}
],
"toolbox": {
"show": true,
"orient": "vertical",
"left": "95%",
"top": "center",
"feature": {
"saveAsImage": {
"show": true,
"title": "save as image"
},
"restore": {
"show": true,
"title": "restore"
},
"dataView": {
"show": true,
"title": "data view"
}
}
},
"series_id": 3912490,
"tooltip": {
"trigger": "axis",
"triggerOn": "mousemove|click",
"axisPointer": {
"type": "line"
},
"formatter": kline_tooltip_formatter,
"textStyle": {
"fontSize": 14
},
"backgroundColor": "rgba(50,50,50,0.7)",
"borderColor": "#333",
"borderWidth": 0
},
"series": [
{
"type": "candlestick",
"name": "\u65e5K",
"data": [
[
20.66,
20.58,
20.58,
20.83
],
[
20.58,
20.5,
20.41,
20.67
],
[
20.53,
19.95,
19.89,
20.6
],
[
19.95,
19.9,
19.71,
19.99
],
[
19.9,
19.59,
19.59,
20.06
],
[
19.59,
19.39,
18.99,
19.67
],
[
19.83,
19.51,
19.11,
19.88
],
[
19.51,
18.83,
18.54,
19.6
],
[
18.83,
18.87,
18.33,
19.35
],
[
18.87,
19.06,
18.76,
19.32
],
[
18.7,
18.77,
18.41,
18.93
],
[
18.77,
18.66,
18.57,
18.93
],
[
18.66,
18.7,
18.6,
18.82
],
[
18.7,
18.52,
18.39,
18.73
],
[
18.04,
18.56,
18.02,
18.56
],
[
18.55,
18.29,
18.29,
18.75
],
[
18.29,
18.86,
18.28,
18.91
],
[
18.86,
19.1,
18.82,
19.14
],
[
19.33,
19.73,
19.22,
20.07
],
[
19.75,
20.09,
19.74,
20.12
],
[
20.09,
20.2,
20.09,
20.47
],
[
20.2,
20.14,
20.01,
20.2
],
[
20.02,
19.55,
19.49,
20.07
],
[
19.55,
19.51,
19.38,
19.67
],
[
19.51,
19.44,
19.39,
19.63
],
[
19.44,
19.31,
19.23,
19.44
],
[
19.15,
19.18,
18.89,
19.43
],
[
19.18,
19.41,
18.96,
19.44
],
[
19.43,
19.08,
19.07,
19.47
],
[
19.08,
19.0,
18.92,
19.24
],
[
18.0,
18.09,
17.83,
18.16
],
[
18.09,
18.09,
17.89,
18.11
],
[
18.09,
18.21,
17.99,
18.24
],
[
18.21,
18.45,
18.21,
18.65
],
[
18.75,
18.47,
18.4,
18.8
],
[
18.47,
18.35,
18.31,
18.53
],
[
18.35,
18.67,
18.17,
18.77
],
[
18.67,
18.55,
18.52,
18.7
],
[
18.36,
18.37,
18.11,
18.72
],
[
18.37,
18.4,
18.35,
18.58
],
[
18.4,
17.98,
17.93,
18.4
],
[
17.98,
17.68,
17.64,
18.02
],
[
16.0,
15.91,
15.91,
16.3
],
[
15.91,
16.13,
15.91,
16.51
],
[
16.13,
16.25,
16.12,
16.43
],
[
16.25,
15.91,
15.91,
16.35
],
[
15.87,
16.2,
15.85,
16.3
],
[
16.2,
16.04,
15.96,
16.2
],
[
16.04,
16.34,
16.04,
16.45
],
[
16.34,
16.34,
16.27,
16.39
],
[
16.7,
17.02,
16.51,
17.02
],
[
17.02,
17.15,
16.82,
17.17
],
[
17.15,
17.05,
17.03,
17.36
],
[
17.06,
16.86,
16.85,
17.08
],
[
17.6,
17.46,
17.38,
17.77
],
[
17.46,
17.54,
17.42,
17.63
],
[
17.55,
17.71,
17.55,
17.75
],
[
17.71,
18.07,
17.61,
18.1
],
[
18.0,
18.27,
17.81,
18.35
],
[
18.27,
17.9,
17.85,
18.28
],
[
17.9,
17.84,
17.68,
17.92
],
[
17.84,
18.0,
17.83,
18.02
],
[
17.93,
17.73,
17.7,
17.93
],
[
17.73,
17.62,
17.6,
17.85
],
[
17.62,
17.8,
17.42,
17.82
],
[
17.8,
17.88,
17.62,
17.91
],
[
17.89,
17.76,
17.62,
18.16
],
[
17.76,
18.44,
17.7,
18.45
],
[
18.44,
18.11,
18.02,
18.58
],
[
18.11,
18.03,
17.96,
18.18
],
[
18.25,
18.08,
17.89,
18.33
],
[
18.08,
17.9,
17.88,
18.08
],
[
17.91,
17.76,
17.63,
17.97
],
[
17.76,
17.65,
17.62,
17.78
],
[
17.49,
17.75,
17.36,
17.87
],
[
17.75,
17.92,
17.71,
18.15
],
[
17.92,
17.74,
17.74,
17.97
],
[
17.74,
17.67,
17.62,
17.8
],
[
17.66,
18.07,
17.61,
18.09
],
[
18.07,
18.22,
17.95,
18.32
],
[
18.22,
18.26,
18.16,
18.35
],
[
18.27,
18.39,
18.24,
18.4
],
[
18.02,
18.35,
17.96,
18.54
],
[
18.35,
18.23,
17.93,
18.38
],
[
18.23,
18.46,
18.2,
18.51
],
[
18.46,
18.31,
18.23,
18.49
],
[
18.18,
18.58,
18.16,
18.73
],
[
18.58,
18.65,
18.47,
18.71
],
[
18.66,
18.45,
18.4,
18.72
],
[
18.45,
18.44,
18.38,
18.52
],
[
18.39,
18.44,
18.24,
18.47
],
[
18.44,
18.58,
18.33,
18.58
],
[
18.58,
18.56,
18.47,
18.65
],
[
18.55,
18.68,
18.48,
18.7
],
[
18.62,
18.59,
18.54,
18.81
],
[
18.59,
18.81,
18.57,
18.83
],
[
18.81,
19.04,
18.69,
19.1
],
[
19.04,
19.0,
18.81,
19.07
],
[
19.0,
18.81,
18.71,
19.04
],
[
18.81,
18.72,
18.61,
18.81
],
[
18.72,
18.71,
18.66,
18.82
],
[
18.71,
18.85,
18.7,
18.87
],
[
18.68,
18.43,
18.41,
18.68
],
[
18.42,
18.39,
18.39,
18.59
],
[
18.39,
18.25,
18.21,
18.41
],
[
18.25,
17.96,
17.96,
18.26
],
[
17.61,
17.95,
17.55,
18.13
],
[
17.95,
18.0,
17.8,
18.04
],
[
18.0,
18.03,
17.9,
18.09
],
[
18.02,
18.06,
17.93,
18.06
],
[
18.06,
18.15,
18.02,
18.35
],
[
18.15,
18.04,
18.02,
18.26
],
[
18.04,
18.1,
17.96,
18.11
],
[
18.1,
18.22,
18.03,
18.36
],
[
18.1,
17.69,
17.62,
18.21
],
[
17.69,
17.72,
17.62,
17.85
],
[
17.72,
17.55,
17.42,
17.74
],
[
17.55,
17.48,
17.47,
17.72
],
[
17.44,
17.64,
17.36,
17.72
],
[
17.64,
17.87,
17.42,
17.88
],
[
17.87,
17.69,
17.61,
17.88
],
[
17.69,
17.71,
17.55,
17.73
],
[
17.91,
17.98,
17.77,
18.04
],
[
17.98,
17.89,
17.82,
18.0
],
[
17.89,
17.87,
17.82,
18.01
],
[
17.87,
17.82,
17.7,
17.87
],
[
17.83,
17.53,
17.43,
17.9
],
[
17.54,
17.86,
17.51,
17.87
],
[
17.87,
18.02,
17.82,
18.05
],
[
18.02,
18.12,
17.88,
18.12
],
[
18.28,
17.92,
17.91,
18.36
],
[
17.92,
18.03,
17.9,
18.03
],
[
18.03,
17.82,
17.79,
18.08
],
[
17.82,
17.55,
17.55,
17.82
],
[
17.36,
17.46,
17.35,
17.57
],
[
17.46,
17.43,
17.39,
17.53
],
[
17.43,
17.31,
17.17,
17.45
],
[
17.31,
17.49,
17.3,
17.63
],
[
18.23,
18.24,
17.97,
18.31
],
[
18.24,
18.4,
18.16,
18.4
],
[
18.4,
18.43,
18.4,
18.6
],
[
18.43,
18.42,
18.32,
18.45
],
[
18.34,
18.2,
18.16,
18.4
],
[
18.19,
18.14,
18.1,
18.28
],
[
18.14,
18.07,
18.0,
18.15
],
[
18.07,
18.18,
18.02,
18.21
],
[
17.73,
17.88,
17.65,
17.94
],
[
17.88,
18.0,
17.8,
18.01
],
[
18.02,
17.8,
17.8,
18.03
],
[
17.8,
17.85,
17.79,
17.95
],
[
17.4,
17.31,
17.23,
17.49
],
[
17.31,
17.27,
17.22,
17.32
],
[
17.27,
17.14,
17.03,
17.27
],
[
17.14,
17.08,
17.08,
17.2
],
[
17.21,
17.24,
17.17,
17.35
],
[
17.24,
17.26,
17.18,
17.29
],
[
17.26,
17.23,
17.21,
17.3
],
[
17.23,
17.29,
17.19,
17.29
],
[
17.11,
17.35,
17.07,
17.41
],
[
17.35,
17.28,
17.24,
17.41
],
[
17.28,
17.25,
17.17,
17.31
],
[
17.25,
17.22,
17.2,
17.37
],
[
17.29,
17.42,
17.28,
17.52
],
[
17.42,
17.39,
17.33,
17.46
],
[
17.39,
17.31,
17.3,
17.41
],
[
17.31,
17.43,
17.29,
17.43
],
[
17.59,
17.32,
17.3,
17.63
],
[
17.32,
17.35,
17.29,
17.35
],
[
17.35,
17.31,
17.29,
17.41
],
[
17.31,
17.31,
17.27,
17.43
],
[
17.38,
17.43,
17.26,
17.43
],
[
17.43,
17.53,
17.4,
17.54
],
[
17.54,
17.62,
17.46,
17.63
],
[
17.62,
17.61,
17.58,
17.75
],
[
17.5,
17.28,
17.27,
17.51
],
[
17.28,
17.28,
17.27,
17.33
],
[
17.28,
17.2,
17.18,
17.3
],
[
17.2,
17.15,
17.13,
17.25
],
[
17.06,
16.93,
16.85,
17.16
],
[
16.93,
17.03,
16.9,
17.06
],
[
17.03,
16.99,
16.96,
17.06
],
[
16.99,
17.01,
16.89,
17.02
],
[
16.95,
16.95,
16.85,
17.1
],
[
16.95,
16.85,
16.8,
17.0
],
[
16.85,
16.84,
16.82,
16.92
],
[
16.84,
16.94,
16.84,
17.05
],
[
16.97,
17.04,
16.93,
17.16
],
[
17.04,
17.02,
16.97,
17.06
],
[
17.02,
16.98,
16.92,
17.03
],
[
16.98,
16.83,
16.81,
16.98
],
[
16.76,
16.83,
16.68,
16.9
],
[
16.83,
16.76,
16.75,
16.88
],
[
16.76,
16.96,
16.73,
17.01
],
[
16.96,
16.97,
16.89,
16.98
],
[
16.9,
16.92,
16.8,
17.04
],
[
16.92,
16.86,
16.78,
16.97
],
[
16.86,
16.8,
16.71,
16.88
],
[
16.8,
16.81,
16.71,
16.82
],
[
16.88,
17.28,
16.83,
17.32
],
[
17.29,
17.29,
17.22,
17.37
],
[
17.29,
17.21,
17.2,
17.33
],
[
17.21,
17.35,
17.2,
17.37
],
[
17.17,
16.98,
16.91,
17.23
],
[
16.98,
17.0,
16.95,
17.08
],
[
17.0,
17.47,
16.98,
17.47
],
[
17.47,
17.72,
17.47,
17.91
],
[
17.62,
17.47,
17.43,
17.8
],
[
17.47,
17.53,
17.43,
17.63
],
[
17.53,
17.39,
17.32,
17.56
],
[
17.39,
17.33,
17.32,
17.47
],
[
17.59,
17.63,
17.48,
17.76
],
[
17.63,
17.58,
17.55,
17.7
],
[
17.58,
17.43,
17.39,
17.6
],
[
17.43,
17.22,
17.21,
17.46
],
[
17.28,
17.25,
16.85,
17.36
],
[
17.25,
17.01,
17.0,
17.27
],
[
17.01,
17.2,
17.01,
17.23
],
[
17.2,
17.05,
17.0,
17.2
],
[
17.2,
17.13,
17.08,
17.28
],
[
17.13,
17.14,
17.02,
17.18
],
[
17.14,
17.05,
16.99,
17.16
],
[
17.05,
17.16,
17.04,
17.33
],
[
17.16,
17.0,
16.83,
17.16
],
[
17.01,
16.88,
16.79,
17.04
],
[
16.88,
16.86,
16.71,
16.89
],
[
16.86,
16.46,
16.44,
16.87
],
[
16.15,
16.56,
16.1,
16.58
],
[
16.56,
16.86,
16.52,
16.87
],
[
16.86,
16.8,
16.74,
16.89
],
[
16.8,
16.86,
16.69,
16.87
],
[
17.0,
17.34,
17.0,
17.42
],
[
17.34,
17.5,
17.32,
17.53
],
[
17.5,
17.54,
17.45,
17.64
],
[
17.54,
17.59,
17.5,
17.63
],
[
17.5,
17.65,
17.41,
17.95
],
[
17.65,
17.66,
17.5,
17.67
],
[
17.66,
17.53,
17.47,
17.69
],
[
17.53,
17.55,
17.5,
17.63
],
[
17.55,
17.74,
17.38,
17.82
],
[
17.74,
17.85,
17.7,
17.91
],
[
17.83,
17.75,
17.74,
17.91
],
[
17.75,
17.57,
17.5,
17.75
],
[
17.65,
18.24,
17.52,
18.33
],
[
18.24,
19.11,
18.08,
19.19
],
[
19.11,
18.97,
18.6,
19.16
],
[
18.97,
18.65,
18.54,
18.98
],
[
18.89,
18.46,
18.42,
19.15
],
[
18.46,
18.54,
18.38,
18.63
],
[
18.55,
18.56,
18.49,
18.74
],
[
18.56,
18.7,
18.56,
18.71
],
[
18.57,
18.43,
18.26,
18.6
],
[
18.43,
18.29,
18.27,
18.48
],
[
18.29,
18.26,
18.19,
18.36
],
[
18.26,
18.36,
18.21,
18.37
],
[
18.25,
18.72,
18.15,
18.84
],
[
18.72,
18.94,
18.68,
18.95
],
[
18.93,
18.79,
18.71,
18.95
],
[
18.79,
18.81,
18.74,
18.86
],
[
18.81,
18.81,
18.65,
19.06
],
[
18.8,
18.76,
18.66,
18.82
],
[
18.76,
18.76,
18.65,
18.79
],
[
18.76,
18.68,
18.65,
18.78
],
[
18.66,
18.66,
18.51,
18.84
],
[
18.65,
18.67,
18.55,
18.73
],
[
18.67,
18.58,
18.47,
18.68
],
[
18.58,
18.36,
18.24,
18.58
],
[
18.37,
18.21,
18.18,
18.45
],
[
18.21,
18.2,
18.02,
18.29
],
[
18.19,
18.3,
18.19,
18.35
],
[
18.3,
18.45,
18.26,
18.49
],
[
18.39,
18.73,
18.24,
18.78
],
[
18.73,
18.9,
18.65,
19.04
],
[
18.9,
18.75,
18.7,
18.91
],
[
18.75,
18.83,
18.67,
18.83
],
[
18.7,
18.58,
18.51,
18.7
],
[
18.58,
18.49,
18.46,
18.62
],
[
18.49,
18.36,
18.3,
18.49
],
[
18.35,
18.34,
18.3,
18.45
],
[
18.19,
18.2,
17.97,
18.29
],
[
18.2,
18.15,
18.13,
18.29
],
[
18.15,
18.12,
18.05,
18.17
],
[
18.12,
18.28,
18.12,
18.29
],
[
18.24,
18.29,
18.08,
18.3
],
[
18.29,
18.46,
18.29,
18.59
],
[
18.46,
18.43,
18.35,
18.53
],
[
18.43,
18.42,
18.35,
18.5
],
[
18.4,
18.36,
18.21,
18.5
],
[
18.37,
18.39,
18.32,
18.54
],
[
18.39,
18.44,
18.36,
18.49
],
[
18.44,
18.17,
18.16,
18.45
],
[
18.37,
18.44,
18.22,
18.54
],
[
18.44,
18.24,
18.23,
18.46
],
[
18.24,
18.18,
18.15,
18.27
],
[
18.18,
18.26,
18.06,
18.26
],
[
18.17,
17.74,
17.57,
18.18
],
[
17.74,
17.78,
17.66,
17.82
],
[
17.78,
17.82,
17.77,
17.97
],
[
17.82,
17.85,
17.82,
18.06
],
[
17.65,
17.67,
17.6,
17.82
],
[
17.67,
17.41,
17.24,
17.72
],
[
17.41,
17.18,
17.14,
17.42
],
[
17.19,
17.06,
16.97,
17.29
],
[
17.3,
17.44,
17.18,
17.46
],
[
17.44,
17.29,
17.25,
17.48
],
[
17.29,
17.19,
17.16,
17.34
],
[
17.19,
17.3,
17.09,
17.3
],
[
17.4,
17.62,
17.4,
17.69
],
[
17.62,
17.65,
17.56,
17.68
],
[
17.65,
17.75,
17.61,
17.75
],
[
17.75,
17.72,
17.7,
17.77
],
[
17.75,
18.03,
17.72,
18.15
],
[
18.03,
18.3,
18.02,
18.34
],
[
18.3,
18.34,
18.25,
18.41
],
[
18.34,
18.54,
18.29,
18.54
],
[
18.59,
18.5,
18.41,
18.6
],
[
18.5,
18.58,
18.48,
18.65
],
[
18.58,
18.44,
18.41,
18.61
],
[
18.44,
18.55,
18.42,
18.56
],
[
18.79,
19.37,
18.7,
19.6
],
[
19.37,
19.42,
19.27,
19.58
],
[
19.42,
19.93,
19.35,
19.93
],
[
19.93,
19.77,
19.68,
19.98
],
[
19.6,
19.42,
19.0,
19.6
],
[
19.42,
19.47,
19.34,
19.55
],
[
19.47,
19.5,
19.3,
19.54
],
[
19.5,
19.53,
19.47,
19.66
],
[
19.43,
19.64,
19.34,
19.93
],
[
19.64,
19.61,
19.53,
19.79
],
[
19.61,
19.6,
19.45,
19.66
],
[
19.59,
19.36,
19.33,
19.6
],
[
19.66,
19.9,
19.51,
19.92
],
[
19.9,
20.39,
19.88,
20.43
],
[
20.39,
20.14,
20.11,
20.48
],
[
20.14,
20.34,
20.1,
20.38
],
[
20.38,
20.26,
20.11,
20.45
],
[
20.26,
20.17,
20.17,
20.47
],
[
20.17,
20.0,
19.89,
20.18
],
[
20.0,
20.19,
19.99,
20.27
],
[
20.17,
20.0,
19.89,
20.19
],
[
20.0,
19.87,
19.86,
20.12
],
[
19.87,
19.91,
19.68,
19.93
],
[
19.91,
20.09,
19.88,
20.13
],
[
20.07,
20.65,
19.94,
20.79
],
[
20.65,
20.87,
20.57,
20.96
],
[
20.87,
20.62,
20.51,
21.11
],
[
20.62,
20.4,
20.17,
20.71
],
[
20.29,
20.53,
20.28,
20.87
],
[
20.53,
20.53,
20.48,
20.74
],
[
20.53,
21.3,
20.53,
21.64
],
[
21.3,
21.5,
21.24,
21.6
],
[
22.22,
22.16,
22.02,
22.74
],
[
22.16,
22.26,
21.72,
22.27
],
[
22.26,
22.02,
21.94,
22.56
],
[
22.02,
22.22,
22.0,
22.35
],
[
22.2,
21.74,
21.67,
22.2
],
[
21.72,
21.82,
21.52,
21.89
],
[
21.83,
22.05,
21.82,
22.15
],
[
22.05,
21.78,
21.72,
22.52
],
[
21.61,
22.0,
21.6,
22.13
],
[
22.0,
21.9,
21.89,
22.2
],
[
21.9,
21.73,
21.63,
22.17
],
[
21.73,
21.73,
21.47,
21.84
],
[
21.74,
21.81,
21.62,
21.91
],
[
21.81,
21.58,
21.48,
21.85
],
[
21.58,
21.51,
21.49,
21.7
],
[
21.51,
21.56,
21.47,
21.6
],
[
21.81,
21.62,
21.48,
21.95
],
[
21.61,
21.6,
21.53,
21.83
],
[
21.6,
21.68,
21.5,
21.68
],
[
21.68,
21.8,
21.59,
21.81
],
[
22.43,
22.36,
22.14,
22.55
],
[
22.36,
22.49,
22.21,
22.52
],
[
22.49,
22.32,
22.28,
22.65
],
[
22.32,
21.98,
21.87,
22.32
],
[
22.06,
21.96,
21.86,
22.17
],
[
21.96,
22.23,
21.95,
22.53
],
[
22.23,
22.32,
22.18,
22.43
],
[
22.32,
22.56,
22.26,
22.56
],
[
22.84,
22.4,
22.22,
23.21
],
[
22.41,
22.5,
22.26,
22.53
],
[
22.5,
22.29,
22.28,
22.58
],
[
22.29,
22.48,
22.14,
22.57
]
],
"markPoint": {
"data": [
{
"type": "max",
"name": "Maximum",
"symbol": "pin",
"symbolSize": 50,
"label": {
"normal": {
"textStyle": {
"color": "#fff"
}
}
}
},
{
"type": "min",
"name": "Minimum",
"symbol": "pin",
"symbolSize": 50,
"label": {
"normal": {
"textStyle": {
"color": "#fff"
}
}
}
}
]
},
"markLine": {
"data": [
{
"type": "max",
"name": "Maximum"
}
],
"symbolSize": 10
},
"seriesId": 3912490
}
],
"legend": [
{
"data": [
"\u65e5K"
],
"selectedMode": "multiple",
"show": true,
"left": "center",
"top": "top",
"orient": "horizontal",
"textStyle": {
"fontSize": 12
}
}
],
"animation": true,
"xAxis": [
{
"show": true,
"nameLocation": "middle",
"nameGap": 25,
"nameTextStyle": {
"fontSize": 14
},
"axisTick": {
"alignWithLabel": false
},
"inverse": false,
"boundaryGap": true,
"type": "category",
"splitLine": {
"show": false
},
"axisLine": {
"lineStyle": {
"width": 1
}
},
"axisLabel": {
"interval": "auto",
"rotate": 0,
"margin": 8,
"textStyle": {
"fontSize": 12
}
},
"data": [
"2018/10/15 14:00",
"2018/10/15 15:00",
"2018/10/16 10:30",
"2018/10/16 11:30",
"2018/10/16 14:00",
"2018/10/16 15:00",
"2018/10/17 10:30",
"2018/10/17 11:30",
"2018/10/17 14:00",
"2018/10/17 15:00",
"2018/10/18 10:30",
"2018/10/18 11:30",
"2018/10/18 14:00",
"2018/10/18 15:00",
"2018/10/19 10:30",
"2018/10/19 11:30",
"2018/10/19 14:00",
"2018/10/19 15:00",
"2018/10/22 10:30",
"2018/10/22 11:30",
"2018/10/22 14:00",
"2018/10/22 15:00",
"2018/10/23 10:30",
"2018/10/23 11:30",
"2018/10/23 14:00",
"2018/10/23 15:00",
"2018/10/24 10:30",
"2018/10/24 11:30",
"2018/10/24 14:00",
"2018/10/24 15:00",
"2018/10/25 10:30",
"2018/10/25 11:30",
"2018/10/25 14:00",
"2018/10/25 15:00",
"2018/10/26 10:30",
"2018/10/26 11:30",
"2018/10/26 14:00",
"2018/10/26 15:00",
"2018/10/29 10:30",
"2018/10/29 11:30",
"2018/10/29 14:00",
"2018/10/29 15:00",
"2018/10/30 10:30",
"2018/10/30 11:30",
"2018/10/30 14:00",
"2018/10/30 15:00",
"2018/10/31 10:30",
"2018/10/31 11:30",
"2018/10/31 14:00",
"2018/10/31 15:00",
"2018/11/1 10:30",
"2018/11/1 11:30",
"2018/11/1 14:00",
"2018/11/1 15:00",
"2018/11/2 10:30",
"2018/11/2 11:30",
"2018/11/2 14:00",
"2018/11/2 15:00",
"2018/11/5 10:30",
"2018/11/5 11:30",
"2018/11/5 14:00",
"2018/11/5 15:00",
"2018/11/6 10:30",
"2018/11/6 11:30",
"2018/11/6 14:00",
"2018/11/6 15:00",
"2018/11/7 10:30",
"2018/11/7 11:30",
"2018/11/7 14:00",
"2018/11/7 15:00",
"2018/11/8 10:30",
"2018/11/8 11:30",
"2018/11/8 14:00",
"2018/11/8 15:00",
"2018/11/9 10:30",
"2018/11/9 11:30",
"2018/11/9 14:00",
"2018/11/9 15:00",
"2018/11/12 10:30",
"2018/11/12 11:30",
"2018/11/12 14:00",
"2018/11/12 15:00",
"2018/11/13 10:30",
"2018/11/13 11:30",
"2018/11/13 14:00",
"2018/11/13 15:00",
"2018/11/14 10:30",
"2018/11/14 11:30",
"2018/11/14 14:00",
"2018/11/14 15:00",
"2018/11/15 10:30",
"2018/11/15 11:30",
"2018/11/15 14:00",
"2018/11/15 15:00",
"2018/11/16 10:30",
"2018/11/16 11:30",
"2018/11/16 14:00",
"2018/11/16 15:00",
"2018/11/19 10:30",
"2018/11/19 11:30",
"2018/11/19 14:00",
"2018/11/19 15:00",
"2018/11/20 10:30",
"2018/11/20 11:30",
"2018/11/20 14:00",
"2018/11/20 15:00",
"2018/11/21 10:30",
"2018/11/21 11:30",
"2018/11/21 14:00",
"2018/11/21 15:00",
"2018/11/22 10:30",
"2018/11/22 11:30",
"2018/11/22 14:00",
"2018/11/22 15:00",
"2018/11/23 10:30",
"2018/11/23 11:30",
"2018/11/23 14:00",
"2018/11/23 15:00",
"2018/11/26 10:30",
"2018/11/26 11:30",
"2018/11/26 14:00",
"2018/11/26 15:00",
"2018/11/27 10:30",
"2018/11/27 11:30",
"2018/11/27 14:00",
"2018/11/27 15:00",
"2018/11/28 10:30",
"2018/11/28 11:30",
"2018/11/28 14:00",
"2018/11/28 15:00",
"2018/11/29 10:30",
"2018/11/29 11:30",
"2018/11/29 14:00",
"2018/11/29 15:00",
"2018/11/30 10:30",
"2018/11/30 11:30",
"2018/11/30 14:00",
"2018/11/30 15:00",
"2018/12/3 10:30",
"2018/12/3 11:30",
"2018/12/3 14:00",
"2018/12/3 15:00",
"2018/12/4 10:30",
"2018/12/4 11:30",
"2018/12/4 14:00",
"2018/12/4 15:00",
"2018/12/5 10:30",
"2018/12/5 11:30",
"2018/12/5 14:00",
"2018/12/5 15:00",
"2018/12/6 10:30",
"2018/12/6 11:30",
"2018/12/6 14:00",
"2018/12/6 15:00",
"2018/12/7 10:30",
"2018/12/7 11:30",
"2018/12/7 14:00",
"2018/12/7 15:00",
"2018/12/10 10:30",
"2018/12/10 11:30",
"2018/12/10 14:00",
"2018/12/10 15:00",
"2018/12/11 10:30",
"2018/12/11 11:30",
"2018/12/11 14:00",
"2018/12/11 15:00",
"2018/12/12 10:30",
"2018/12/12 11:30",
"2018/12/12 14:00",
"2018/12/12 15:00",
"2018/12/13 10:30",
"2018/12/13 11:30",
"2018/12/13 14:00",
"2018/12/13 15:00",
"2018/12/14 10:30",
"2018/12/14 11:30",
"2018/12/14 14:00",
"2018/12/14 15:00",
"2018/12/17 10:30",
"2018/12/17 11:30",
"2018/12/17 14:00",
"2018/12/17 15:00",
"2018/12/18 10:30",
"2018/12/18 11:30",
"2018/12/18 14:00",
"2018/12/18 15:00",
"2018/12/19 10:30",
"2018/12/19 11:30",
"2018/12/19 14:00",
"2018/12/19 15:00",
"2018/12/20 10:30",
"2018/12/20 11:30",
"2018/12/20 14:00",
"2018/12/20 15:00",
"2018/12/21 10:30",
"2018/12/21 11:30",
"2018/12/21 14:00",
"2018/12/21 15:00",
"2018/12/24 10:30",
"2018/12/24 11:30",
"2018/12/24 14:00",
"2018/12/24 15:00",
"2018/12/25 10:30",
"2018/12/25 11:30",
"2018/12/25 14:00",
"2018/12/25 15:00",
"2018/12/26 10:30",
"2018/12/26 11:30",
"2018/12/26 14:00",
"2018/12/26 15:00",
"2018/12/27 10:30",
"2018/12/27 11:30",
"2018/12/27 14:00",
"2018/12/27 15:00",
"2018/12/28 10:30",
"2018/12/28 11:30",
"2018/12/28 14:00",
"2018/12/28 15:00",
"2019/1/2 10:30",
"2019/1/2 11:30",
"2019/1/2 14:00",
"2019/1/2 15:00",
"2019/1/3 10:30",
"2019/1/3 11:30",
"2019/1/3 14:00",
"2019/1/3 15:00",
"2019/1/4 10:30",
"2019/1/4 11:30",
"2019/1/4 14:00",
"2019/1/4 15:00",
"2019/1/7 10:30",
"2019/1/7 11:30",
"2019/1/7 14:00",
"2019/1/7 15:00",
"2019/1/8 10:30",
"2019/1/8 11:30",
"2019/1/8 14:00",
"2019/1/8 15:00",
"2019/1/9 10:30",
"2019/1/9 11:30",
"2019/1/9 14:00",
"2019/1/9 15:00",
"2019/1/10 10:30",
"2019/1/10 11:30",
"2019/1/10 14:00",
"2019/1/10 15:00",
"2019/1/11 10:30",
"2019/1/11 11:30",
"2019/1/11 14:00",
"2019/1/11 15:00",
"2019/1/14 10:30",
"2019/1/14 11:30",
"2019/1/14 14:00",
"2019/1/14 15:00",
"2019/1/15 10:30",
"2019/1/15 11:30",
"2019/1/15 14:00",
"2019/1/15 15:00",
"2019/1/16 10:30",
"2019/1/16 11:30",
"2019/1/16 14:00",
"2019/1/16 15:00",
"2019/1/17 10:30",
"2019/1/17 11:30",
"2019/1/17 14:00",
"2019/1/17 15:00",
"2019/1/18 10:30",
"2019/1/18 11:30",
"2019/1/18 14:00",
"2019/1/18 15:00",
"2019/1/21 10:30",
"2019/1/21 11:30",
"2019/1/21 14:00",
"2019/1/21 15:00",
"2019/1/22 10:30",
"2019/1/22 11:30",
"2019/1/22 14:00",
"2019/1/22 15:00",
"2019/1/23 10:30",
"2019/1/23 11:30",
"2019/1/23 14:00",
"2019/1/23 15:00",
"2019/1/24 10:30",
"2019/1/24 11:30",
"2019/1/24 14:00",
"2019/1/24 15:00",
"2019/1/25 10:30",
"2019/1/25 11:30",
"2019/1/25 14:00",
"2019/1/25 15:00",
"2019/1/28 10:30",
"2019/1/28 11:30",
"2019/1/28 14:00",
"2019/1/28 15:00",
"2019/1/29 10:30",
"2019/1/29 11:30",
"2019/1/29 14:00",
"2019/1/29 15:00",
"2019/1/30 10:30",
"2019/1/30 11:30",
"2019/1/30 14:00",
"2019/1/30 15:00",
"2019/1/31 10:30",
"2019/1/31 11:30",
"2019/1/31 14:00",
"2019/1/31 15:00",
"2019/2/1 10:30",
"2019/2/1 11:30",
"2019/2/1 14:00",
"2019/2/1 15:00",
"2019/2/11 10:30",
"2019/2/11 11:30",
"2019/2/11 14:00",
"2019/2/11 15:00",
"2019/2/12 10:30",
"2019/2/12 11:30",
"2019/2/12 14:00",
"2019/2/12 15:00",
"2019/2/13 10:30",
"2019/2/13 11:30",
"2019/2/13 14:00",
"2019/2/13 15:00",
"2019/2/14 10:30",
"2019/2/14 11:30",
"2019/2/14 14:00",
"2019/2/14 15:00",
"2019/2/15 10:30",
"2019/2/15 11:30",
"2019/2/15 14:00",
"2019/2/15 15:00",
"2019/2/18 10:30",
"2019/2/18 11:30",
"2019/2/18 14:00",
"2019/2/18 15:00",
"2019/2/19 10:30",
"2019/2/19 11:30",
"2019/2/19 14:00",
"2019/2/19 15:00",
"2019/2/20 10:30",
"2019/2/20 11:30",
"2019/2/20 14:00",
"2019/2/20 15:00",
"2019/2/21 10:30",
"2019/2/21 11:30",
"2019/2/21 14:00",
"2019/2/21 15:00",
"2019/2/22 10:30",
"2019/2/22 11:30",
"2019/2/22 14:00",
"2019/2/22 15:00",
"2019/2/25 10:30",
"2019/2/25 11:30",
"2019/2/25 14:00",
"2019/2/25 15:00",
"2019/2/26 10:30",
"2019/2/26 11:30",
"2019/2/26 14:00",
"2019/2/26 15:00",
"2019/2/27 10:30",
"2019/2/27 11:30",
"2019/2/27 14:00",
"2019/2/27 15:00",
"2019/2/28 10:30",
"2019/2/28 11:30",
"2019/2/28 14:00",
"2019/2/28 15:00",
"2019/3/1 10:30",
"2019/3/1 11:30",
"2019/3/1 14:00",
"2019/3/1 15:00",
"2019/3/4 10:30",
"2019/3/4 11:30",
"2019/3/4 14:00",
"2019/3/4 15:00",
"2019/3/5 10:30",
"2019/3/5 11:30",
"2019/3/5 14:00",
"2019/3/5 15:00",
"2019/3/6 10:30",
"2019/3/6 11:30",
"2019/3/6 14:00",
"2019/3/6 15:00"
],
"scale": true
}
],
"yAxis": [
{
"show": true,
"nameLocation": "middle",
"nameGap": 25,
"nameTextStyle": {
"fontSize": 14
},
"axisTick": {
"alignWithLabel": false
},
"inverse": false,
"boundaryGap": true,
"type": "value",
"splitLine": {
"show": true
},
"axisLine": {
"lineStyle": {
"width": 1
}
},
"axisLabel": {
"interval": "auto",
"formatter": "{value} ",
"rotate": 0,
"margin": 8,
"textStyle": {
"fontSize": 12
}
},
"scale": true,
"splitArea": {
"show": true
}
}
],
"color": [
"#c23531",
"#2f4554",
"#61a0a8",
"#d48265",
"#749f83",
"#ca8622",
"#bda29a",
"#6e7074",
"#546570",
"#c4ccd3",
"#f05b72",
"#ef5b9c",
"#f47920",
"#905a3d",
"#fab27b",
"#2a5caa",
"#444693",
"#726930",
"#b2d235",
"#6d8346",
"#ac6767",
"#1d953f",
"#6950a1",
"#918597",
"#f6f5ec"
],
"dataZoom": [
{
"show": true,
"type": "slider",
"start": 50,
"end": 100,
"orient": "horizontal"
}
]
}
In [ ]:
Content source: yunfeiz/py_learnt
Similar notebooks: