canvasjs - CanvasJS(2.3.2 版)在第一个数据点和最后一个数据点之间出现不需要的线
问题描述
我发现了一个现有的类似问题,但那里的解决方案无法解决我的问题。我的数据按数字排序,没有空值。
html 文件与 CanvasJS line-chart-with-zoom-pan.html 几乎相同。我更改了标题,将我自己的数据点放入其中,而不是使用随机数生成器,并从与 html 文件相同的目录加载 canvasjs。
一切都很顺利,而且非常简单!...除了这个额外的行,它没有出现在 CanvasJS 的示例中。
这是我的html文件:
<!DOCTYPE HTML>
<html>
<head>
<meta charset='UTF-8'>
<script>
window.onload = function () {
var chart = new CanvasJS.Chart('chartContainer', {
animationEnabled: true,
zoomEnabled: true,
title:{
text: 'Problem with Final (Polyline?) Segment from Last Point to Origin'
},
axisY :{
includeZero:false
},
data: data // initialized below
});
chart.render();
}
var limit = 6;
var y = 0;
var data = [];
var dataSeries = { type: 'line' };
var dataPoints = [];
for (var i = 0; i < limit; i += 1) {
dataPoints.push({
x: 3425,
y: 33.979673769168
});
dataPoints.push({
x: 6850,
y: 36.27403787497398
});
dataPoints.push({
x: 10275,
y: 37.742500031440834
});
dataPoints.push({
x: 13700,
y: 36.02631567584654
});
dataPoints.push({
x: 17125,
y: 34.75456508773836
});
dataPoints.push({
x: 20550,
y: 35.236592156677126
});
}
dataSeries.dataPoints = dataPoints;
data.push(dataSeries);
</script>
<script src='./canvasjs.min.js'></script>
</head>
<body>
<div id='chartContainer' style='height: 370px; max-width: 920px; margin: 0px auto;'>
</div>
</body>
</html>
这是我开始使用的原始 CanvasJS 文件,它可以正常工作:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<script>
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
zoomEnabled: true,
title:{
text: "Try Zooming and Panning"
},
axisY :{
includeZero:false
},
data: data // random generator below
});
chart.render();
}
var limit = 1000;
var y = 0;
var data = [];
var dataSeries = { type: "line" };
var dataPoints = [];
for (var i = 0; i < limit; i += 1) {
y += (Math.random() * 10 - 5);
dataPoints.push({
x: i - limit / 2,
y: y
});
}
dataSeries.dataPoints = dataPoints;
data.push(dataSeries);
</script>
<script src="../../canvasjs.min.js"></script>
</head>
<body>
<div id="chartContainer" style="height: 370px; max-width: 920px; margin: 0px auto;">
</div>
</body>
</html>
感谢您的任何帮助!
解决方案
我要感谢 CanvasJS 的 Indranil 告诉我我做错了什么!
这里有一个复制粘贴错误,其中 for (var i = 0; i < limit; i += 1) { ... } 包括在内,不应该包括在内。不需要循环来绘制 6 个点。循环导致从最后一点到第一点的额外线。
所以最终的代码应该是
<!DOCTYPE HTML>
<html>
<head>
<meta charset='UTF-8'>
<script>
window.onload = function () {
var chart = new CanvasJS.Chart('chartContainer', {
animationEnabled: true,
zoomEnabled: true,
title:{
text: 'Problem with Final (Polyline?) Segment from Last Point to Origin'
},
axisY :{
includeZero:false
},
data: data // initialized below
});
chart.render();
}
var limit = 6;
var y = 0;
var data = [];
var dataSeries = { type: 'line' };
var dataPoints = [];
DataPoints.push({
x: 3425,
y: 33.979673769168
});
DataPoints.push({
x: 6850,
y: 36.27403787497398
});
DataPoints.push({
x: 10275,
y: 37.742500031440834
});
DataPoints.push({
x: 13700,
y: 36.02631567584654
});
DataPoints.push({
x: 17125,
y: 34.75456508773836
});
DataPoints.push({
x: 20550,
y: 35.236592156677126
});
dataSeries.dataPoints = dataPoints;
data.push(dataSeries);
</script>
<script src='./canvasjs.min.js'></script>
</head>
<body>
<div id='chartContainer' style='height: 370px; max-width: 920px; margin: 0px auto;'>
</div>
</body>
</html>
推荐阅读
- json - 在 Swift 中解码 JSON 并在开始时更改 Key
- powershell - Powershell - 根据 CSV 文件检查 IP 地址范围
- r - 我想检查 df1 中任何行的 2 列是否 == df2 中任何行的相同 2 列
- java - 引起:java.net.UnknownHostException:www.btechldap.com
- c# - 在带有 winforms 应用程序的 Windows 服务器上使用带有 RDP 的重定向打印机
- asp.net-web-api - 子域 webapi (asp.net mvc) 响应直接请求,但不响应同一域的请求
- java - Java流收集到ConcurrentHashMap错误
- java - 创建游戏框架项目时失败
- flask - Flask 和 Auth0 - 如何检查用户是否在 Jinja 中经过身份验证
- sql - 用唯一组中的现有值填充空值