2016-11-02 11 views
0

私はコンソールアプリケーションを設計しました。ユーザーはレポートウィジェット(グラフタイプ、ライン、パイなどを選択)を作成し、残りの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; 
} 
+0

データフィールドを手動でバインドし、Highcharts/eChartsで有効な設定オブジェクトを使用するだけですか? – morganfree

+0

もっと説明できますか? –

+1

jsonが受信された後、チャーティングライブラリで理解できる適切な構成オブジェクトに解析します。 jsonを構文解析する方法は、jsonの構造とデータをどのように視覚化するかによって異なります。 – morganfree

答えて

1

あなたがシリーズのオプションを設定することができますが、それはあなたのシリーズ型

に関連していますが、より詳しくは、下のリンクを参照してください。

https://ecomfe.github.io/echarts/doc/doc-en.html#Series

series: [ 
    { name: "price" } 
    ] 

シリーズに関するすべてのものはEchartsドキュメントあなたがより多くを見つけるのリンクをご覧くださいでより詳細に説明されています。

+0

シリーズの名前のプロパティは、指定されたデータグループのテキストです。これはjsonデータの特性ではありません。 myJsonData.priceフィールドをバインドする必要があります –

関連する問題