Powerful financial charting library based on R's Quantmod
Documentation at: http://py-quantmod.readthedocs.io/en/latest/
In [3]:
import quantmod as qm
# Get symbol
ch = qm.get_symbol('QQQ', start='01/01/2016')
# Add indicators
ch.add_EMA(9)
ch.add_RSI(14)
# Plot
ch.iplot()
Out[3]:
In [2]:
import pandas as pd
import pandas_datareader as web
import plotly.plotly as py
import talib
df = web.DataReader('QQQ', start='01/01/2016', data_source='yahoo')
trace1 = dict(
type = 'candlestick',
x = df.index,
y = df['Close'],
yaxis = 'y',
)
ma = df['Close'].ewm(com=4).mean()
rsi = talib.RSI(df['Close'].values, 14)
rsi = pd.Series(rsi)
trace1 = dict(
type = 'candlestick',
x = df.index,
open = df['Open'],
high = df['High'],
low = df['Low'],
close = df['Close'],
showlegend = False,
yaxis = 'y'
)
trace2 = dict(
type = 'line',
x = df.index,
y = ma,
line = dict(color='blue'),
name = 'EMA(9)',
yaxis = 'y'
)
trace3 = dict(
type = 'bar',
x = df.index,
y = df['Volume'],
marker = dict(color=[
'green'
if (value - df['Open'].values[i]) >= 0
else 'red'
for i, value in enumerate(df['Close'].values)
]),
showlegend = False,
yaxis = 'y2'
)
trace4 = dict(
type = 'line',
x = df.index,
y = rsi,
line = dict(color='blue'),
name = 'RSI(14)',
yaxis = 'y3'
)
data = [trace1, trace2, trace3, trace4]
layout = dict(
title = 'QQQ',
font = dict(family='Droid Sans Mono'),
margin = dict(
l = 40,
r = 40,
b = 40,
t = 40
),
xaxis = dict(
anchor = 'y3',
rangeslider=dict(visible=False)
),
yaxis = dict(
domain = [0.5, 1]
),
yaxis2 = dict(
domain = [0.25, 0.49],
),
yaxis3 = dict(
domain = [0, 0.24],)
)
figure = dict(data=data, layout=layout)
py.iplot(figure, validate=False)
Out[2]:
In [8]:
# Naive charting
ch = qm.get_symbol('AAPL')
ch.iplot(theme='dark')
Out[8]:
In [9]:
# Inplace historical data adjustment
ch.adjust(inplace=True)
ch.iplot(theme='dark')
Out[9]:
In [10]:
ch.add_CCI(14)
ch.add_EMA(5)
# To DataFrame
df = ch.to_frame()
df.tail()
Out[10]:
Open
High
Low
Close
Volume
Adj Close
CCI(14)
EMA(5)
Date
2017-04-27
143.919998
144.160004
143.309998
143.789993
14106100
143.789993
77.166218
143.488159
2017-04-28
144.089996
144.300003
143.270004
143.649994
20763500
143.649994
74.789954
143.542104
2017-05-01
145.100006
147.199997
144.960007
146.580002
33424500
146.580002
180.436208
144.554737
2017-05-02
147.539993
148.089996
146.839996
147.509995
40290100
147.509995
185.793112
145.539823
2017-05-03
145.589996
147.490005
144.270004
147.059998
45404200
147.059998
114.499070
146.046548
In [11]:
# Select EMA
ema = df['EMA(5)']
# Alternatively
ema = ch.ind['EMA(5)']
In [10]:
# Go offline
qm.go_offline()
# True
qm.is_offline()
Out[10]:
True
In [14]:
# Additional arguments
ch.iplot(type='ohlc', log=True, volume=False, legend=False, title='Custom Title', theme='dark', dimensions=(1000,500))
Out[14]:
In [13]:
# Go online
qm.go_online()
# False
qm.is_offline()
Out[13]:
False
In [17]:
# Return figure for Dash
ch.to_figure()
Out[17]:
{'data': [{'close': Date
2010-01-04 27.727039
2010-01-05 27.774976
2010-01-06 27.333178
2010-01-07 27.282650
2010-01-08 27.464034
2010-01-11 27.221758
2010-01-12 26.912110
2010-01-13 27.291720
2010-01-14 27.133657
2010-01-15 26.680198
2010-01-19 27.860485
2010-01-20 27.431644
2010-01-21 26.957455
2010-01-22 25.620401
2010-01-25 26.309658
2010-01-26 26.681494
2010-01-27 26.932840
2010-01-28 25.819922
2010-01-29 24.883208
2010-02-01 25.229131
2010-02-02 25.375533
2010-02-03 25.812149
2010-02-04 24.881912
2010-02-05 25.323710
2010-02-08 25.150100
2010-02-09 25.418289
2010-02-10 25.279660
2010-02-11 25.739595
2010-02-12 25.961142
2010-02-16 26.352412
...
2017-03-22 141.419998
2017-03-23 140.919998
2017-03-24 140.639999
2017-03-27 140.880005
2017-03-28 143.800003
2017-03-29 144.119995
2017-03-30 143.929993
2017-03-31 143.660004
2017-04-03 143.699997
2017-04-04 144.770004
2017-04-05 144.020004
2017-04-06 143.660004
2017-04-07 143.339996
2017-04-10 143.169998
2017-04-11 141.630005
2017-04-12 141.800003
2017-04-13 141.050003
2017-04-17 141.830002
2017-04-18 141.199997
2017-04-19 140.679993
2017-04-20 142.440002
2017-04-21 142.270004
2017-04-24 143.639999
2017-04-25 144.529999
2017-04-26 143.679993
2017-04-27 143.789993
2017-04-28 143.649994
2017-05-01 146.580002
2017-05-02 147.509995
2017-05-03 147.059998
Name: Close, dtype: float64,
'decreasing': {'fillcolor': '#FF7700',
'line': {'color': 'rgba(0, 0, 0, 0.25)', 'width': 1}},
'high': Date
2010-01-04 27.790523
2010-01-05 27.931743
2010-01-06 27.885102
2010-01-07 27.466625
2010-01-08 27.466625
2010-01-11 27.596185
2010-01-12 27.177706
2010-01-13 27.327996
2010-01-14 27.267103
2010-01-15 27.414800
2010-01-19 27.879919
2010-01-20 27.926561
2010-01-21 27.636347
2010-01-22 26.883606
2010-01-25 26.520840
2010-01-26 27.688172
2010-01-27 27.282650
2010-01-28 26.624488
2010-01-29 26.196941
2010-02-01 25.393672
2010-02-02 25.435130
2010-02-03 25.937823
2010-02-04 25.700728
2010-02-05 25.393672
2010-02-08 25.637245
2010-02-09 25.588011
2010-02-10 25.471407
2010-02-11 25.879521
2010-02-12 26.124387
2010-02-16 26.389985
...
2017-03-22 141.600006
2017-03-23 141.580002
2017-03-24 141.740005
2017-03-27 141.220001
2017-03-28 144.039993
2017-03-29 144.490005
2017-03-30 144.500000
2017-03-31 144.270004
2017-04-03 144.119995
2017-04-04 144.889999
2017-04-05 145.460007
2017-04-06 144.520004
2017-04-07 144.179993
2017-04-10 143.880005
2017-04-11 143.350006
2017-04-12 142.149994
2017-04-13 142.380005
2017-04-17 141.880005
2017-04-18 142.039993
2017-04-19 142.000000
2017-04-20 142.919998
2017-04-21 142.679993
2017-04-24 143.949997
2017-04-25 144.899994
2017-04-26 144.600006
2017-04-27 144.160004
2017-04-28 144.300003
2017-05-01 147.199997
2017-05-02 148.089996
2017-05-03 147.490005
Name: High, dtype: float64,
'hoverinfo': 'x+y+text+name',
'increasing': {'fillcolor': '#00CC00',
'line': {'color': 'rgba(0, 0, 0, 0.25)', 'width': 1}},
'low': Date
2010-01-04 27.515857
2010-01-05 27.628574
2010-01-06 27.304676
2010-01-07 27.084425
2010-01-08 27.085720
2010-01-11 27.006689
2010-01-12 26.743682
2010-01-13 26.443104
2010-01-14 27.080538
2010-01-15 26.672424
2010-01-19 26.849922
2010-01-20 27.142726
2010-01-21 26.846035
2010-01-22 25.543961
2010-01-25 25.936526
2010-01-26 26.246174
2010-01-27 25.851017
2010-01-28 25.743482
2010-01-29 24.648705
2010-02-01 24.784742
2010-02-02 25.054225
2010-02-03 25.188969
2010-02-04 24.819724
2010-02-05 24.726441
2010-02-08 25.134552
2010-02-09 25.231722
2010-02-10 25.168238
2010-02-11 25.142326
2010-02-12 25.328893
2010-02-16 26.108841
...
2017-03-22 139.759995
2017-03-23 140.610001
2017-03-24 140.350006
2017-03-27 138.619995
2017-03-28 140.619995
2017-03-29 143.190002
2017-03-30 143.500000
2017-03-31 143.009995
2017-04-03 143.050003
2017-04-04 143.169998
2017-04-05 143.809998
2017-04-06 143.449997
2017-04-07 143.270004
2017-04-10 142.899994
2017-04-11 140.059998
2017-04-12 141.009995
2017-04-13 141.050003
2017-04-17 140.869995
2017-04-18 141.110001
2017-04-19 140.449997
2017-04-20 141.160004
2017-04-21 141.850006
2017-04-24 143.179993
2017-04-25 143.869995
2017-04-26 143.380005
2017-04-27 143.309998
2017-04-28 143.270004
2017-05-01 144.960007
2017-05-02 146.839996
2017-05-03 144.270004
Name: Low, dtype: float64,
'name': 'AAPL',
'open': Date
2010-01-04 27.651894
2010-01-05 27.803480
2010-01-06 27.774976
2010-01-07 27.434235
2010-01-08 27.246373
2010-01-11 27.570272
2010-01-12 27.102562
2010-01-13 26.931545
2010-01-14 27.221758
2010-01-15 27.327995
2010-01-19 26.991141
2010-01-20 27.843644
2010-01-21 27.476989
2010-01-22 26.790325
2010-01-25 26.237105
2010-01-26 26.682790
2010-01-27 26.799392
2010-01-28 26.550639
2010-01-29 26.051834
2010-02-01 24.923370
2010-02-02 25.382011
2010-02-03 25.286137
2010-02-04 25.488251
2010-02-05 24.957057
2010-02-08 25.353510
2010-02-09 25.448087
2010-02-10 25.379420
2010-02-11 25.248565
2010-02-12 25.667042
2010-02-16 26.163256
...
2017-03-22 139.850006
2017-03-23 141.259995
2017-03-24 141.500000
2017-03-27 139.389999
2017-03-28 140.910004
2017-03-29 143.679993
2017-03-30 144.190002
2017-03-31 143.720001
2017-04-03 143.710007
2017-04-04 143.250000
2017-04-05 144.220001
2017-04-06 144.289993
2017-04-07 143.729996
2017-04-10 143.600006
2017-04-11 142.940002
2017-04-12 141.600006
2017-04-13 141.910004
2017-04-17 141.479996
2017-04-18 141.410004
2017-04-19 141.880005
2017-04-20 141.220001
2017-04-21 142.440002
2017-04-24 143.500000
2017-04-25 143.910004
2017-04-26 144.470001
2017-04-27 143.919998
2017-04-28 144.089996
2017-05-01 145.100006
2017-05-02 147.539993
2017-05-03 145.589996
Name: Open, dtype: float64,
'showlegend': False,
'type': 'candlestick',
'whiskerwidth': 0,
'x': DatetimeIndex(['2010-01-04', '2010-01-05', '2010-01-06', '2010-01-07',
'2010-01-08', '2010-01-11', '2010-01-12', '2010-01-13',
'2010-01-14', '2010-01-15',
...
'2017-04-20', '2017-04-21', '2017-04-24', '2017-04-25',
'2017-04-26', '2017-04-27', '2017-04-28', '2017-05-01',
'2017-05-02', '2017-05-03'],
dtype='datetime64[ns]', name='Date', length=1846, freq=None),
'yaxis': 'y1'},
{'fillcolor': False,
'hoverinfo': 'x+y+text+name',
'line': {'color': '#0044FF', 'width': 2},
'marker': {'color': False, 'opacity': 1.0, 'size': 3, 'symbol': 'square'},
'mode': 'lines',
'name': 'EMA(5)',
'opacity': 0.6,
'type': 'scatter',
'x': DatetimeIndex(['2010-01-04', '2010-01-05', '2010-01-06', '2010-01-07',
'2010-01-08', '2010-01-11', '2010-01-12', '2010-01-13',
'2010-01-14', '2010-01-15',
...
'2017-04-20', '2017-04-21', '2017-04-24', '2017-04-25',
'2017-04-26', '2017-04-27', '2017-04-28', '2017-05-01',
'2017-05-02', '2017-05-03'],
dtype='datetime64[ns]', name='Date', length=1846, freq=None),
'y': Date
2010-01-04 NaN
2010-01-05 NaN
2010-01-06 NaN
2010-01-07 NaN
2010-01-08 27.516375
2010-01-11 27.418170
2010-01-12 27.249483
2010-01-13 27.263562
2010-01-14 27.220260
2010-01-15 27.040240
2010-01-19 27.313655
2010-01-20 27.352984
2010-01-21 27.221141
2010-01-22 26.687561
2010-01-25 26.561593
2010-01-26 26.601560
2010-01-27 26.711987
2010-01-28 26.414632
2010-01-29 25.904157
2010-02-01 25.679149
2010-02-02 25.577943
2010-02-03 25.656012
2010-02-04 25.397979
2010-02-05 25.373222
2010-02-08 25.298848
2010-02-09 25.338662
2010-02-10 25.318995
2010-02-11 25.459195
2010-02-12 25.626510
2010-02-16 25.868478
...
2017-03-22 140.634814
2017-03-23 140.729876
2017-03-24 140.699917
2017-03-27 140.759946
2017-03-28 141.773298
2017-03-29 142.555531
2017-03-30 143.013685
2017-03-31 143.229125
2017-04-03 143.386082
2017-04-04 143.847389
2017-04-05 143.904928
2017-04-06 143.823286
2017-04-07 143.662190
2017-04-10 143.498126
2017-04-11 142.875419
2017-04-12 142.516947
2017-04-13 142.027966
2017-04-17 141.961978
2017-04-18 141.707984
2017-04-19 141.365320
2017-04-20 141.723548
2017-04-21 141.905700
2017-04-24 142.483799
2017-04-25 143.165866
2017-04-26 143.337242
2017-04-27 143.488159
2017-04-28 143.542104
2017-05-01 144.554737
2017-05-02 145.539823
2017-05-03 146.046548
Name: EMA(5), dtype: float64,
'yaxis': 'y1'},
{'hoverinfo': 'x+y+text+name',
'marker': {'color': ['#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#00CC00',
'#FF7700',
'#FF7700',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
'#FF7700',
'#00CC00',
...],
'line': {'color': ['rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
'rgba(0, 0, 0, 0.25)',
...],
'width': 1}},
'name': 'Volume',
'showlegend': False,
'type': 'bar',
'x': DatetimeIndex(['2010-01-04', '2010-01-05', '2010-01-06', '2010-01-07',
'2010-01-08', '2010-01-11', '2010-01-12', '2010-01-13',
'2010-01-14', '2010-01-15',
...
'2017-04-20', '2017-04-21', '2017-04-24', '2017-04-25',
'2017-04-26', '2017-04-27', '2017-04-28', '2017-05-01',
'2017-05-02', '2017-05-03'],
dtype='datetime64[ns]', name='Date', length=1846, freq=None),
'y': Date
2010-01-04 123432400
2010-01-05 150476200
2010-01-06 138040000
2010-01-07 119282800
2010-01-08 111902700
2010-01-11 115557400
2010-01-12 148614900
2010-01-13 151473000
2010-01-14 108223500
2010-01-15 148516900
2010-01-19 182501900
2010-01-20 153038200
2010-01-21 152038600
2010-01-22 220441900
2010-01-25 266424900
2010-01-26 466777500
2010-01-27 430642100
2010-01-28 293375600
2010-01-29 311488100
2010-02-01 187469100
2010-02-02 174585600
2010-02-03 153832000
2010-02-04 189413000
2010-02-05 212576700
2010-02-08 119567700
2010-02-09 158221700
2010-02-10 92590400
2010-02-11 137586400
2010-02-12 163867200
2010-02-16 135934400
...
2017-03-22 25860200
2017-03-23 20346300
2017-03-24 22395600
2017-03-27 23575100
2017-03-28 33374800
2017-03-29 29190000
2017-03-30 21207300
2017-03-31 19661700
2017-04-03 19985700
2017-04-04 19765700
2017-04-05 27481500
2017-04-06 21118000
2017-04-07 16621300
2017-04-10 18473000
2017-04-11 30275300
2017-04-12 20238900
2017-04-13 17652900
2017-04-17 16424000
2017-04-18 14660800
2017-04-19 17271300
2017-04-20 23251100
2017-04-21 17245200
2017-04-24 17099200
2017-04-25 18290300
2017-04-26 19769400
2017-04-27 14106100
2017-04-28 20763500
2017-05-01 33424500
2017-05-02 40290100
2017-05-03 45404200
Name: Volume, dtype: int64,
'yaxis': 'y2'},
{'fillcolor': False,
'hoverinfo': 'x+y+text+name',
'line': {'color': '#0044FF', 'width': 2},
'marker': {'color': False, 'opacity': 1.0, 'size': 3, 'symbol': 'square'},
'mode': 'lines',
'name': 'CCI(14)',
'opacity': 0.6,
'type': 'scatter',
'x': DatetimeIndex(['2010-01-04', '2010-01-05', '2010-01-06', '2010-01-07',
'2010-01-08', '2010-01-11', '2010-01-12', '2010-01-13',
'2010-01-14', '2010-01-15',
...
'2017-04-20', '2017-04-21', '2017-04-24', '2017-04-25',
'2017-04-26', '2017-04-27', '2017-04-28', '2017-05-01',
'2017-05-02', '2017-05-03'],
dtype='datetime64[ns]', name='Date', length=1846, freq=None),
'y': Date
2010-01-04 NaN
2010-01-05 NaN
2010-01-06 NaN
2010-01-07 NaN
2010-01-08 NaN
2010-01-11 NaN
2010-01-12 NaN
2010-01-13 NaN
2010-01-14 NaN
2010-01-15 NaN
2010-01-19 NaN
2010-01-20 NaN
2010-01-21 NaN
2010-01-22 -265.766769
2010-01-25 -165.335407
2010-01-26 -37.152308
2010-01-27 -62.979353
2010-01-28 -148.989578
2010-01-29 -200.350320
2010-02-01 -158.843844
2010-02-02 -113.605953
2010-02-03 -68.285440
2010-02-04 -99.869723
2010-02-05 -85.855230
2010-02-08 -63.231771
2010-02-09 -44.555454
2010-02-10 -49.834293
2010-02-11 -8.815009
2010-02-12 29.322505
2010-02-16 126.064760
...
2017-03-22 103.647303
2017-03-23 94.747039
2017-03-24 73.653146
2017-03-27 15.846472
2017-03-28 194.213851
2017-03-29 233.195074
2017-03-30 180.418364
2017-03-31 119.452217
2017-04-03 94.488041
2017-04-04 103.592349
2017-04-05 93.420522
2017-04-06 60.776027
2017-04-07 42.174165
2017-04-10 22.649389
2017-04-11 -73.556789
2017-04-12 -81.640830
2017-04-13 -98.692318
2017-04-17 -115.489147
2017-04-18 -100.342745
2017-04-19 -102.553000
2017-04-20 -31.159955
2017-04-21 -20.722945
2017-04-24 61.733987
2017-04-25 112.185519
2017-04-26 84.404486
2017-04-27 77.166218
2017-04-28 74.789954
2017-05-01 180.436208
2017-05-02 185.793112
2017-05-03 114.499070
Name: CCI(14), dtype: float64,
'yaxis': 'y3'}],
'layout': {'annotations': [{'font': {'color': '#00CC00'},
'showarrow': False,
'text': 'Last 147.06',
'x': 0.01,
'xanchor': 'left',
'xref': 'paper',
'y': 0.99,
'yanchor': 'top',
'yref': 'paper'},
{'font': {'color': '#00CC00'},
'showarrow': False,
'text': 'Volume 45,404,200',
'x': 0.01,
'xanchor': 'left',
'xref': 'paper',
'y': 0.48,
'yanchor': 'top',
'yref': 'paper'}],
'autosize': True,
'bargap': 0.3,
'bargroupgap': 0.0,
'barmode': 'group',
'boxgap': 0.3,
'boxgroupgap': 0.0,
'font': {'color': '#222222', 'family': 'droid sans mono', 'size': 12},
'height': 720,
'hovermode': 'x',
'legend': {'bgcolor': 'rgba(0, 0, 0, 0.00)',
'tracegroupgap': 10,
'x': 0.01,
'xanchor': 'left',
'y': 0.96,
'yanchor': 'top'},
'margin': {'b': 40, 'l': 40, 'pad': 0, 'r': 40, 't': 60},
'paper_bgcolor': '#F3F3F3',
'plot_bgcolor': '#FFFFFF',
'showlegend': True,
'title': 'AAPL',
'width': 1080,
'xaxis': {'anchor': 'y3',
'color': '#444444',
'rangeselector': {'activecolor': '#888888',
'bgcolor': '#C9C9C9',
'bordercolor': '#C9C9C9',
'buttons': [{'count': 1,
'label': '1D',
'step': 'day',
'stepmode': 'backward'},
{'count': 5, 'label': '5D', 'step': 'day', 'stepmode': 'backward'},
{'count': 1, 'label': '1M', 'step': 'month', 'stepmode': 'backward'},
{'count': 3, 'label': '3M', 'step': 'month', 'stepmode': 'backward'},
{'count': 6, 'label': '6M', 'step': 'month', 'stepmode': 'backward'},
{'count': 1, 'label': '1Y', 'step': 'year', 'stepmode': 'backward'},
{'count': 2, 'label': '2Y', 'step': 'year', 'stepmode': 'backward'},
{'count': 5, 'label': '5Y', 'step': 'year', 'stepmode': 'backward'},
{'count': 1, 'label': 'MAX', 'step': 'all', 'stepmode': 'backward'},
{'count': 1, 'label': 'YTD', 'step': 'year', 'stepmode': 'todate'}],
'visible': True},
'rangeslider': {'bgcolor': '#CCCCCC',
'bordercolor': '#CCCCCC',
'thickness': 0.1,
'visible': False},
'side': 'bottom',
'tickfont': {'color': '#222222'}},
'yaxis': {'color': '#444444',
'domain': [0.5, 1.0],
'side': 'right',
'tickfont': {'color': '#222222'},
'type': 'linear'},
'yaxis2': {'color': '#444444',
'domain': [0.25, 0.49],
'side': 'left',
'tickfont': {'color': '#222222'},
'type': 'linear'},
'yaxis3': {'color': '#444444',
'domain': [0.0, 0.24],
'side': 'left',
'tickfont': {'color': '#222222'},
'type': 'linear'}}}
Content source: jackwluo/py-quantmod
Similar notebooks: