Afficher le graphique en chandeliers en Python (édition matplotlib) C'est une continuation de.
Plotly n'est pas un package uniquement Python, mais prend également en charge R, Matlab, JavaScript, etc. En mode en ligne, vous devez créer un compte, mais si vous souhaitez l'utiliser hors ligne, vous n'avez pas besoin de créer un compte. Ce qui suit est une explication hors ligne.
L'installation du package Python de Plotly peut être trouvée sur cette page (https://plot.ly/python/getting-started/)
$ pip install plotly
Est OK.
Ensuite, comme article précédent, créez des données fictives à 4 valeurs. Cependant, cette fois, les données sont pour un an.
import numpy as np
import pandas as pd
idx = pd.date_range('2015/01/01', '2015/12/31 23:59', freq='T')
dn = np.random.randint(2, size=len(idx))*2-1
rnd_walk = np.cumprod(np.exp(dn*0.0002))*100
df = pd.Series(rnd_walk, index=idx).resample('B').ohlc()
La page de référence est ici. Candlestick Charts in Python
Tout d'abord, affichez le graphique en chandeliers avec les paramètres standard.
from plotly.offline import init_notebook_mode, iplot
from plotly.tools import FigureFactory as FF
init_notebook_mode(connected=True) #Paramètres du bloc-notes Jupyter
fig = FF.create_candlestick(df.open, df.high, df.low, df.close, dates=df.index)
iplot(fig)
Passez simplement Open data, High data, Low data, Close data, date et time data à l'argument de create_candlestick
.
Le graphique ressemble à ceci.
En fait, vous pouvez zoomer et faire un panoramique sur le graphique librement, vous pouvez donc l'agrandir comme indiqué ci-dessous.
Les graphiques de Plotly sont très utiles en tant que graphiques interactifs, mais après tout, il y a de l'espace le samedi et le dimanche et ils ne sont pas continus les jours ouvrables.
Par conséquent, nous travaillerons sur les données de l'axe des x afin que seuls les jours ouvrables soient continus. La procédure est la même que pour matplotlib. Si vous omettez l'argument dates
de create_candlestick
, les données de l'axe des x seront un index entier. Par conséquent, les données de date et d'heure correspondant à l'index sont affichées comme l'échelle de l'axe des x.
fig = FF.create_candlestick(df.open, df.high, df.low, df.close)
xtick0 = (5-df.index[0].weekday())%5 #Index du premier lundi
fig['layout'].update({
'xaxis':{
'showgrid': True,
'ticktext': [x.strftime('%Y-%m-%d') for x in df.index][xtick0::5],
'tickvals': np.arange(xtick0,len(df),5)
}
})
iplot(fig)
Le graphique affiché est le suivant.
L'échelle de l'axe des x est affichée à intervalles hebdomadaires, donc c'est un peu correct, mais il est plus facile de voir si vous effectuez un zoom avant.
Vous pouvez voir qu'il s'agit d'un graphique en chandeliers pour les jours ouvrables uniquement.
Recommended Posts