import * as React from 'react'; import * as Plotly from 'plotly.js'; import Plot from 'react-plotly.js'; import createPlotlyComponent from 'react-plotly.js/factory'; /** * based on https://plot.ly/javascript/react/#quick-start */ export class SimpleChartComponent extends React.PureComponent { render() { return( ); } } /** * based on https://github.com/plotly/react-plotly.js#state-management */ interface StateManagementChartComponentState { data: Plotly.Data[]; layout: Partial; frames: Plotly.Frame[] | null; } class StateManagementChartComponent extends React.Component<{}, StateManagementChartComponentState> { constructor(props: {}) { super(props); this.state = { data: [], layout: {}, frames: [] }; } render() { return ( this.setState(figure)} onUpdate={(figure) => this.setState(figure)} /> ); } } /** * This creates a minified Plotly Plot, if a minified version is * supplied to createPlotlyComponent for example plotly.js-basic-dist */ const MinPlot = createPlotlyComponent(Plot); export class MinChartComponent extends React.PureComponent { render() { return( ); } }