Javascript 画布显示空白,未显示数据
我正在使用Canvasjs创建烛台图表。这些值来自PHP,我使用JSON encode转换为javascript数组。我以与示例相同的格式重新创建javascript数组,如下所示Javascript 画布显示空白,未显示数据,javascript,jquery,canvasjs,Javascript,Jquery,Canvasjs,我正在使用Canvasjs创建烛台图表。这些值来自PHP,我使用JSON encode转换为javascript数组。我以与示例相同的格式重新创建javascript数组,如下所示 dataPoints=[{x: new Date(2012,01,01),y:[5198, 5629, 5159, 5385]}] 但是画布是空白的?这是我的密码: <?php $chart_array[] = array("x"=>"2012-01-01","y"=>array("5198
dataPoints=[{x: new Date(2012,01,01),y:[5198, 5629, 5159, 5385]}]
但是画布是空白的?这是我的密码:
<?php
$chart_array[] = array("x"=>"2012-01-01","y"=>array("5198", "5629", "5159", "5385"));
$chart_array[] = array("x"=>"2012-01-02","y"=>array("5366", "5499", "5135", "5295"));
$chart_array = json_encode($chart_array);
?>
<script type="text/javascript">
window.onload = function () {
var resultArray = <?php echo $chart_array; ?>;
var new_array = [];
jQuery.each(resultArray, function(index, item) {
new_array.push({ x: new Date(item.x), y: item.y });
});
console.log(new_array);
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Basic Candle Stick Chart"
},
zoomEnabled: true,
axisY: {
includeZero: false,
title: "Prices",
prefix: "$ "
},
axisX: {
interval: 2,
intervalType: "month",
valueFormatString: "MMM-YY",
},
data: [
{
type: "candlestick",
dataPoints: new_array
}
]
});
chart.render();
}
</script>
window.onload=函数(){
var resultArray=;
var new_数组=[];
每个(结果数组、函数(索引、项){
new_array.push({x:newdate(item.x),y:item.y});
});
console.log(新的_数组);
var chart=new CanvasJS.chart(“chartContainer”{
标题:{
文字:“基本蜡烛棒图”
},
可缩放:对,
axisY:{
包括:错,
标题:“价格”,
前缀:“$”
},
axisX:{
间隔时间:2,
间隔类型:“月”,
valueFormatString:“MMM-YY”,
},
数据:[
{
类型:“烛台”,
数据点:新的_数组
}
]
});
chart.render();
}
console.log
显示数组存在。为什么会出现空白画布?如何求解?在代码中似乎是字符串,应该是数字。即使您将其存储为字符串,在将其传递给图表选项之前将其解析为数字也可以
以下是工作代码:
<?php
$chart_array[] = array("x"=>"2012-01-01","y"=>array(5198, 5629, 5159, 5385));
$chart_array[] = array("x"=>"2012-01-02","y"=>array(5366, 5499, 5135, 5295));
$chart_array = json_encode($chart_array);
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<script type="text/javascript">
window.onload = function () {
var resultArray = <?php echo $chart_array; ?>;
var new_array = [];
jQuery.each(resultArray, function(index, item) {
new_array.push({ x: new Date(item.x), y: item.y });
});
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Basic Candle Stick Chart"
},
zoomEnabled: true,
axisY: {
includeZero: false,
title: "Prices",
prefix: "$ "
},
axisX: {
interval: 2,
intervalType: "month",
valueFormatString: "MMM-YY",
},
data: [
{
type: "candlestick",
dataPoints: new_array
}
]
});
chart.render();
}
</script>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
window.onload=函数(){
var resultArray=;
var new_数组=[];
每个(结果数组、函数(索引、项){
new_array.push({x:newdate(item.x),y:item.y});
});
var chart=new CanvasJS.chart(“chartContainer”{
标题:{
文字:“基本蜡烛棒图”
},
可缩放:对,
axisY:{
包括:错,
标题:“价格”,
前缀:“$”
},
axisX:{
间隔时间:2,
间隔类型:“月”,
valueFormatString:“MMM-YY”,
},
数据:[
{
类型:“烛台”,
数据点:新的_数组
}
]
});
chart.render();
}
您是否有ID为chartContainer
的div?例如,
您也链接了jQuery和canvasjs?顺便说一句,您需要将数组值更改为数字,例如=>数组(5366549951355295))
我在数字上使用了ParseInt,但仍然为空?