2017-12-13 13 views
2

ダミーテーブルを作成しましたが、p/l列をタイプ 'line'にプロットしたいと思います。ここに私のコードは、これまでのところです:ChartJSに折れ線グラフをプロットする方法は?

var niftyProfit = []; 
var niftyProfitChartData = []; 
var sum = 0; 
data.forEach(function(obj) { 
    niftyProfit.push(obj.profit); 
}); 
for (var i in niftyProfit) { 
    sum = sum + niftyProfit[i]; 
    niftyProfitChartData.push(sum); 
} 

obj.profitは、P/Lの列のデータですが、折れ線グラフに。私は値を設定したいと思います。たとえば、forループで行った値です。 profit = [4,2,-3,-5]とすると、最終的な配列が図表に表示されるのは[4,6,3,-2]になります。どうすればこれを達成できますか? http://jsfiddle.net/zkrh7/141/

+0

なぜフィギュアやコード内のどこかに角を使用していない場合、「angularjs」にタグを付けました。 –

答えて

2

私は以下の変更でjsfiddleを更新しています。

スクリプトで

var data = [{"profit": 345}, {"profit":-4}, {"profit":58}, {"profit": -30}]; 
//or you can use 
var data = [{"profit": 4}, {"profit":2}, {"profit":-3}, {"profit": -5}]; 

populateChartData(data); 

とあなたにも見ることができ、外部リソースとしてチャートライブラリを追加しました。あなただけであればその後も、私はhtmlの

<canvas id="niftyTrackerChart" width="800" height="400"></canvas> 

更新JSFiddleリンク http://jsfiddle.net/muasif80/zkrh7/156/

にキャンバスを追加した

はこれが言っているHow to uses numbers array for line chart?

このリンクを見てください数値を使うと、x軸に対してもラベル配列を定義する必要があります。

+0

私はすでにキャンバスを追加していますが、実際には線を描くことはできますが、問題は単一行を表示し、配列の最初の2つの要素だけを取ることです。私の実際のループ後の配列は、(niftyProfitChartData)の(345,340.55,398.85,408.3,317.75,245.05,497.8,427.95000000000005,337.1,638.5,573.65,417.09999999999997,626.4499999999999,592.4,558.5,734.7,718.6500000000001) 703.0000000000001、994.7500000000001、926.7000000000002、1053.0000000000002、971.6500000000002、926.8000000000002,1099.7500000000002、1224.8500000000001、1325.45、1486.3、1661.05] –

+0

よろしくお願いします。 – muasif80

+1

今、私は答えを更新しました。私が追加したドキュメントのリンクを見てください。ポイント(x、y)配列ではなく数値配列を使用している場合は、ラベル配列を定義する必要があります。ラベル配列を追加した後、更新されたJsFiddleが実際にすべての点を描画しています。 – muasif80

関連する問題