Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chart.js 如何在ChartJS中绘制折线图?_Chart.js - Fatal编程技术网

Chart.js 如何在ChartJS中绘制折线图?

Chart.js 如何在ChartJS中绘制折线图?,chart.js,Chart.js,我已经创建了一个虚拟表,我想在“line”类型中绘制一个p/l列。以下是我目前的代码: var niftyProfit = []; var niftyProfitChartData = []; var sum = 0; data.forEach(function(obj) { niftyProfit.push(obj.profit); }); for (var i in niftyProfit) { sum = sum + niftyProfit[i];

我已经创建了一个虚拟表,我想在“line”类型中绘制一个p/l列。以下是我目前的代码:

 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.price
是损益列数据,但在折线图中。我想填充这个值,这是我在for循环中所做的。例如,考虑<代码>利润= [4,2,3,-5 ] < /代码>,然后我在图表中填充的最后一个数组将变成<代码> [4,6,3,2 ] < /代码>。我将如何实现这一点?这里有一个问题:

我已经用以下更改更新了JSFIDLE,它正在工作

脚本中的

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>

更新了JSFIDLE链接

看看这个链接


这意味着如果你只使用数字,那么你也必须为x轴定义一个标签数组。

为什么你在没有在小提琴中或代码中任何地方使用angularjs时标记了
angularjs
。好了,现在我更新了答案。看看我添加的文档链接。如果只使用数字数组而不是点(x,y)数组,则需要定义标签数组。在我添加了标签数组之后,更新的JSFIDLE确实绘制了所有的点。我更新了FIDLE链接到这里,我也添加了一种使用循环生成标签数组的方法。还有一个问题,如何为单条线的正no和负红色赋予绿色你可以看看这个,我已经更新了这个这是小提琴。但不确定为什么它显示为绿色而不是红色。