#!/usr/bin/env python # coding: utf-8 # # pandas-highcharts # # * [gtnx/pandas-highcharts: Beautiful charting of pandas.DataFrame with Highcharts](https://github.com/gtnx/pandas-highcharts) # * [Jupyter Notebook Viewer](http://nbviewer.jupyter.org/github/gtnx/pandas-highcharts/blob/master/example.ipynb) # In[1]: import pandas as pd import requests #from pandas_highcharts.core import serialize from pandas_highcharts.display import display_charts # In[2]: headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134' } r = requests.get('https://fx.minkabu.jp/api/v2/bar/USDJPY/daily.json?count=240', headers=headers) r.raise_for_status() r.json()[:10] # In[3]: df = pd.DataFrame(data=r.json(), columns=['time', 'open', 'high', 'low', 'close']) df.head() # In[4]: # [From Timestamps to Epoch](https://pandas.pydata.org/pandas-docs/stable/timeseries.html#from-timestamps-to-epoch) utc = pd.to_datetime(df['time'], unit='ms') utc3 = utc + pd.DateOffset(hours=3) data1 = { 'open': df['open'].astype('float64').values, 'high': df['high'].astype('float64').values, 'low': df['low'].astype('float64').values, 'close': df['close'].astype('float64').values} columns1 = ['open', 'high', 'low', 'close'] index1 = utc3 df2 = pd.DataFrame(data=data1, columns=columns1, index=index1) df2.head() # In[9]: # Basic line plot #chart = serialize(df2, render_to="my-chart", title="My Chart") # Basic column plot #chart = serialize(df, render_to="my-chart", title="Test", kind="bar") #chart = display_charts(df2, render_to="usdjpy", title="米ドル/円", kind="candlestick") # ValueError: candlestick plots are not yet supported chart = display_charts(df2, render_to="usdjpy", title="米ドル/円", kind="line", y=['close'])