Javascript 运行时在折线图中显示NAN的数据值
我正在使用折线图生成一个图形,它工作正常,但在图形中有一个问题;有一个值显示NAN。我不明白为什么会这样。我的数据完全是json格式的 以下是我的Ajax代码: 输出我的数据包含: 问题出在July字段中,该字段的总数为34,但在图表中显示为NAN 图形生成函数:Javascript 运行时在折线图中显示NAN的数据值,javascript,ajax,nan,linechart,Javascript,Ajax,Nan,Linechart,我正在使用折线图生成一个图形,它工作正常,但在图形中有一个问题;有一个值显示NAN。我不明白为什么会这样。我的数据完全是json格式的 以下是我的Ajax代码: 输出我的数据包含: 问题出在July字段中,该字段的总数为34,但在图表中显示为NAN 图形生成函数: 功能折线图(数据){ var salesChartCanvas=$(“#线图”).get(0.getContext(“2d”); var salesChartData={ 标签:[], 数据集:[ { 标签:“我的第二个数据集”, f
功能折线图(数据){
var salesChartCanvas=$(“#线图”).get(0.getContext(“2d”);
var salesChartData={
标签:[],
数据集:[
{
标签:“我的第二个数据集”,
fillColor:“rgba(210、214、222、1)”,
strokeColor:“rgba(210、214、222、1)”,
点颜色:“rgba(151187205,1)”,
pointStrokeColor:“fff”,
pointHighlightFill:“fff”,
pointHighlightStroke:“rgba(151187205,1)”,
数据:[]
}
]
};
var salesChartOptions={
scaleShowGridLines:对,
scaleGridLineColor:“rgba(0,0,0,05)”,
scaleGridLineWidth:1,
缩放水平线:对,
scaleShowVerticalLines:没错,
贝塞尔曲线:对,
Bezier曲线长度:0.4,
是的,
点半径:4,
pointDotStrokeWidth:1,
PointHit检测半径:20,
datasetStroke:对,
datasetStrokeWidth:2,
datasetFill:true,
legendTemplate:“
”
};
//栏(salesChartData、salesChartOptions);
var salesChart=新图表(salesChartCanvas).Line(salesChartData,salesChartOptions);
对于(var i=0;i在做了大量的研究之后,我终于在这里找到了问题的解决方案,我可以发布解决方案
Ajax代码
$(function () {
$.ajax({
url:"/1002/workEfficencyGraph.php",
type: "GET",
dataType: "json",
success: function (data) {
lineChart(data);
},
error: function (e) {
console.log(e.message);
}
});
});
图形生成函数
function lineChart(data){
var lineChartData = {
labels : [],
datasets : [
{
label: "My Second dataset",
fillColor : "rgba(151,187,205,0.2)",
strokeColor : "rgba(151,187,205,1)",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(151,187,205,1)",
data : []
}
]
}
var ctx = document.getElementById("lineChart").getContext("2d");
window.myLine = new Chart(ctx).Line(lineChartData, {
responsive: true
});
for(var i=0; i<data.length; i++) {
myLine.addData([data[i].total],data[i].month);
}
}
功能折线图(数据){
变量lineChartData={
标签:[],
数据集:[
{
标签:“我的第二个数据集”,
填充颜色:“rgba(151187205,0.2)”,
strokeColor:“rgba(151187205,1)”,
点颜色:“rgba(151187205,1)”,
pointStrokeColor:“fff”,
pointHighlightFill:“fff”,
pointHighlightStroke:“rgba(151187205,1)”,
数据:[]
}
]
}
var ctx=document.getElementById(“线形图”).getContext(“2d”);
window.myLine=新图表(ctx).Line(lineChartData{
回答:对
});
对于(var i=0;i salesChart.addData预期的参数是什么?我认为问题在于这行代码。我只是简单地将数据附加到salesChart中,如文档中所示。我在Barchart中使用了相同的技术,它也完全可以正常工作,唯一的问题是这一点。您可以发布console.log(数据)的输出吗;在for循环之后?好的,我发布控制台日志
function lineChart(data){
var salesChartCanvas = $("#lineChart").get(0).getContext("2d");
var salesChartData = {
labels: [],
datasets: [
{
label: "My Second dataset",
fillColor: "rgba(210, 214, 222, 1)",
strokeColor: "rgba(210, 214, 222, 1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: []
}
]
};
var salesChartOptions = {
scaleShowGridLines : true,
scaleGridLineColor : "rgba(0,0,0,.05)",
scaleGridLineWidth : 1,
scaleShowHorizontalLines: true,
scaleShowVerticalLines: true,
bezierCurve : true,
bezierCurveTension : 0.4,
pointDot : true,
pointDotRadius : 4,
pointDotStrokeWidth : 1,
pointHitDetectionRadius : 20,
datasetStroke : true,
datasetStrokeWidth : 2,
datasetFill : true,
legendTemplate : "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\"background-color:<%=datasets[i].strokeColor%>\"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>"
};
//salesChart.Bar(salesChartData, salesChartOptions);
var salesChart = new Chart(salesChartCanvas).Line(salesChartData,salesChartOptions);
for(var i=0; i<data.length; i++){
console.log([data[i].total], data[i].month);
salesChart.addData([data[i].total], data[i].month);
}
}
<div class="box-body">
<div class="chart">
<canvas id="lineChart" height="250"></canvas>
</div>
</div>
$(function () {
$.ajax({
url:"/1002/workEfficencyGraph.php",
type: "GET",
dataType: "json",
success: function (data) {
lineChart(data);
},
error: function (e) {
console.log(e.message);
}
});
});
function lineChart(data){
var lineChartData = {
labels : [],
datasets : [
{
label: "My Second dataset",
fillColor : "rgba(151,187,205,0.2)",
strokeColor : "rgba(151,187,205,1)",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(151,187,205,1)",
data : []
}
]
}
var ctx = document.getElementById("lineChart").getContext("2d");
window.myLine = new Chart(ctx).Line(lineChartData, {
responsive: true
});
for(var i=0; i<data.length; i++) {
myLine.addData([data[i].total],data[i].month);
}
}