I want to use LightWeight Charts by TradingView. I process data with Python and serve it via Flask to JSON:
from flask import Flask, jsonify, render_template
from datetime import datetime
app = Flask(__name__)
@app.route('/')
def home(name=None):
return render_template('index.html', name=name)
@app.route('/data')
def data():
ind_df = d.request_data(...) # dummy method
ind_df['Date'] = ind_df['Date'].map(lambda t: int(t.timestamp()))
ind_df = ind_df.set_index('Date')
return jsonify(ind_df.to_dict())
then I have index.json:
// Create the Lightweight Chart within the container element
const chart = LightweightCharts.createChart(
document.getElementById('container')
);
// Create the Main Series (Candlesticks)
const mainSeries = chart.addCandlestickSeries();
fetch('/data')
.then(response => response.json())
.then(data => {
// use the data to create a visualization
console.log(data)
mainSeries.setData(data);
});
my data is succesfully logged in console but I have "uncaught type error" to chart.
The question is in what shape does LightWeight Charts accept the data? I have a DataFrame
that I will change .to_json()
. The problem is about indexing.
In place of
{
time: "2018-10-19",
open: 180.34,
high: 180.99,
low: 178.57,
close: 179.85,
}
I have:
{ "Open":
{ "epoch1": value1,
"epoch2": value2,
"epoch3": value3,
...
},
"Close:
...
}
How should I convert my data?
Via Active questions tagged javascript - Stack Overflow https://ift.tt/DKUaEm3
Comments
Post a Comment