SciChart.js React ボイラープレート
npm と webpack を使用した React アプリで SciChart.js を利用するには、公式の scichart-react ライブラリ を使用することをお勧めします。
ステップ 1: SciChart.js と scichart-react をインストールする
まだ行っていない場合は、ReactアプリケーションにSciChart.jsとscichart-reactを追加してください。
npm install scichart
npm install scichart-react
ステップ 2: Wasm ファイルのデプロイ
SciChart.js は WebAssembly ファイルを使用しており、これらを配信する必要があります。最も簡単な方法は、node_modules/scichart/_wasm フォルダから出力フォルダに wasm ファイルをコピーすることです。
例: webpack.config.js を使用する場合:
plugins: [
new CopyPlugin({
patterns: [
{ from: "src/index.html", to: "" },
{ from: "node_modules/scichart/_wasm/scichart2d.wasm", to: "" },
// 3D チャートを使用する場合のオプション
{ from: "node_modules/scichart/_wasm/scichart3d.wasm", to: "" },
],
})
],
注: 導入を簡略化するために、 CDNからwasmを読み込む 他の方法も利用可能です
ステップ3: チャートの作成
その後、次のようにSciChartSurfaceを作成する関数を作成できます。
import {
SciChartSurface,
NumericAxis,
FastLineRenderableSeries,
XyDataSeries,
EllipsePointMarker,
SweepAnimation,
SciChartJsNavyTheme,
NumberRange
} from "scichart";
async function initSciChart() {
// SciChartSurfaceを初期化します。awaitを忘れないでください!
const { sciChartSurface, wasmContext } = await SciChartSurface.create("scichart-root", {
theme: new SciChartJsNavyTheme(),
title: "SciChart.js First Chart",
titleStyle: { fontSize: 22 }
});
// growBy パディングを使用して XAxis と YAxis を作成
const growBy = new NumberRange(0.1, 0.1);
sciChartSurface.xAxes.add(new NumericAxis(wasmContext, { axisTitle: "X Axis", growBy }));
sciChartSurface.yAxes.add(new NumericAxis(wasmContext, { axisTitle: "Y Axis", growBy }));
// 初期データを含む線グラフシリーズを作成
sciChartSurface.renderableSeries.add(new FastLineRenderableSeries(wasmContext, {
stroke: "steelblue",
strokeThickness: 3,
dataSeries: new XyDataSeries(wasmContext, {
xValues: [0,1,2,3,4,5,6,7,8,9],
yValues: [0, 0.0998, 0.1986, 0.2955, 0.3894, 0.4794, 0.5646, 0.6442, 0.7173, 0.7833]
}),
pointMarker: new EllipsePointMarker(wasmContext, { width: 11, height: 11, fill: "#fff" }),
animation: new SweepAnimation({ duration: 300, fadeEffect: true })
}));
return { sciChartSurface };
}
ステップ 4: React コンポーネントの作成
チャートは SciChartReact コンポーネントを使用して初期化できます。これにより、アンマウント時の削除を含むコンポーネントのライフサイクル全体が処理されます。
function App() {
return (
<div className="App">
<SciChartReact initChart={initSciChart}
onInit={(initResult) => console.log(initResult.sciChartSurface.id + ` が作成されました`);
onDelete={(initResult) => console.log(initResult.sciChartSurface.id + ` が削除されました`);
style={{ maxWidth: 900 }} />
</div>
);
}
例の動作確認
さらに詳しく調べるには、Githubで完全な例を入手してください。
その他の使用例はこちらをご覧ください:
npm install
npm start
GitHubで開く