私はコンソールアプリケーションを設計しました。ユーザーはレポートウィジェット(グラフタイプ、ライン、パイなどを選択)を作成し、残りのAPI関数にリンクすることができます。次に、システムは残りのapiデータをバインドします(データフィールドはわかりませんが、ユーザーは画面上で名前を入力します)。レポートウィジェットと関連するグラフが表示されます。EChartsのカスタムフィールド名
ライブダッシュボード(レポートウィジェットを含む)にD3.jsを使用しています。しかし、D3.jsは動的なレポートや動的なAjaxデータではうまくいきません。 D3.jsの実装はチャートごとに異なるため、ハイチャート、echartsのようにデベロッパーにとって使いやすいものではありません。
ハイチャート、echartsおよび他のチャートのフィールド名は設定できません。 Kendoでは、それは次のように行うことができます。
series: [
{ field: "price" }
]
はHighChartsまたはeChartsでこれを行うにはどのような方法があります。 または 他のチャートライブラリ(フリー/オープンソースをお勧めします)を提案できますか?
更新日: 私はもうeChartを使用していません。 C3.jsはより安定して使いやすくなっています。 C3.jsにも同じ問題がありますが、カスタムデータ配列を準備しています。
chart.graph.load({
columns: [
GetTextData(serieData, "x"),
SerializeDataWithSerieName("blabla", serieData)
]
});
....
function GetTextData(data, textToInsertStart) {
var result = [];
if (textToInsertStart)
result.push(textToInsertStart);
for (var i = 0; i < data.length; i++) {
result.push(data[i][MyTextFieldName]);
}
return result;
}
....
function SerializeDataWithSerieName(serieName, data) {
var result = [];
result.push(serieName);
for (var i = 0; i < data.length; i++) {
result.push(data[i][MyDataFieldName]);
}
return result;
}
データフィールドを手動でバインドし、Highcharts/eChartsで有効な設定オブジェクトを使用するだけですか? – morganfree
もっと説明できますか? –
jsonが受信された後、チャーティングライブラリで理解できる適切な構成オブジェクトに解析します。 jsonを構文解析する方法は、jsonの構造とデータをどのように視覚化するかによって異なります。 – morganfree