Javascript 我的艺术不是在展示价值观?它显示x轴,但不显示样条曲线图值?
如果有人能给我指出正确的方向,我相信很接近。我的high chart显示的x轴值正确,但样条曲线图本身不显示在highchart中。我正在生成json值,但不确定它是否被编码到highcharts中的序列数据:[数据]中Javascript 我的艺术不是在展示价值观?它显示x轴,但不显示样条曲线图值?,javascript,php,html,highcharts,Javascript,Php,Html,Highcharts,如果有人能给我指出正确的方向,我相信很接近。我的high chart显示的x轴值正确,但样条曲线图本身不显示在highchart中。我正在生成json值,但不确定它是否被编码到highcharts中的序列数据:[数据]中 $.getJSON("/saas/js/OMLine.php", function(json) { $('#OMLine').highcharts({ //Highcharts.chart('OMLine', { legend: { layout: "ve
$.getJSON("/saas/js/OMLine.php", function(json) {
$('#OMLine').highcharts({
//Highcharts.chart('OMLine', {
legend: {
layout: "vertical",
align: "right",
verticalAlign: "middle",
marginTop: 50,
marginBottom: 80
},
exporting:{enabled:false},
title: {
text: 'Operating Margin'
},
yAxis: {
min: null,
allowDecimals: true,
title: {
text: ''
},
labels: {
format: '${value}'
},
},
chart: {
renderTo: 'chart',
type: 'spline'
},
plotOptions: {
series: {
lineWidth: 3,
marker: {
fillColor: '#3195d2',
lineWidth: 2,
lineColor: '#fff',
radius: 6
}
}
},
credits: {
enabled: false
},
colors: ['#3195d2'],
xAxis: {
categories:json [0]['data']
},
series: [{
name: 'Operating Margin',
type: 'spline',
data: json[0]['data']
}]
});
});
/---------------------------------上面是.js页面---/
我用你在评论中发布的JSON复制了你的图表。问题是您正在将字符串而不是数字传递到
series.data
。而且,在js中,“3547.33”不是一个有效的数字,它应该是简单的3547.33
。检查下面发布的代码和演示
代码:
var json='[{“数据”:[“2月18日”、“3月18日”、“4月18日”、“5月18日”、“6月18日”、“7月18日”、“8月18日”、“9月18日”、“10月18日”、“11月18日”、“12月18日”、“1月19日”]},{“数据”:[3547.333090.583320.845817.8827046.5012912.208289.367493.517493.736493.293142]};
var data=JSON.parse(JSON);
Highcharts.chart('容器'{
图表:{
renderTo:'图表',
类型:“样条线”
},
图例:{
布局:“垂直”,
对齐:“右”,
垂直排列:“中间”,
玛金托普:50,
marginBottom:80
},
出口:{
已启用:false
},
标题:{
正文:“营业利润”
},
亚克斯:{
min:null,
allowDecimals:对,
标题:{
文本:“”
},
标签:{
格式:“${value}”
},
},
打印选项:{
系列:{
线宽:3,
标记:{
填充颜色:“#3195d2”,
线宽:2,
线条颜色:“#fff”,
半径:6
}
}
},
学分:{
已启用:false
},
颜色:['#3195d2'],
xAxis:{
类别:数据[0]。数据
},
系列:[{
名称:“营业利润率”,
类型:“样条线”,
数据:数据[1]。数据
}]
});代码>
json[0]['data']
只在应该是数字的时候包含字符串。您发布的json输出不是有效的json。第二个元素需要一个:
在data
[{“data”:[“二月十八日”、“三月十八日”、“四月十八日”、“五月十八日”、“六月十八日”、“七月十八日”、“八月十八日”、“九月十八日”、“十月十八日”、“十一月十八日”、“十二月十八日”、“一月十九日”],{“data:“data”:“3547.33”,“3090.58”、“3320.84”、“5817.88”、“27046.50”、“12912.20”、“8289.36”、“7493.51”、“7493.73”、“6493.29”、“3142.83”、“4003.42”]}]它有一个:这是一个打字错误您正在对类别和数据使用json[0]['data']
。对数据设置json[1]['data']
<?php
session_start();
require_once '../authenticate/tests/dbconnect.php';
$displayMonth = $_SESSION["selectedMonth"];
//echo $displayMonth;
$displayYear = $_SESSION["selectedYear"];
//echo $displayYear;
$xaxis = array();
$xaxis_linerows = array();
for ($i = 1; $i <= 12; $i++) {
if($displayMonth == 1){
$axisDisplayMonth = "Jan";
} else if($displayMonth == 2){
$axisDisplayMonth = "Feb";
} else if($displayMonth == 3){
$axisDisplayMonth = "Mar";
} else if($displayMonth == 4){
$axisDisplayMonth = "Apr";
} else if($displayMonth == 5){
$axisDisplayMonth = "May";
} else if($displayMonth == 6){
$axisDisplayMonth = "Jun";
} else if($displayMonth == 7){
$axisDisplayMonth = "Jul";
} else if($displayMonth == 8){
$axisDisplayMonth = "Aug";
} else if($displayMonth == 9){
$axisDisplayMonth = "Sep";
} else if($displayMonth == 10){
$axisDisplayMonth = "Oct";
} else if($displayMonth == 11){
$axisDisplayMonth = "Nov";
} else if($displayMonth == 12){
$axisDisplayMonth = "Dec";
}
$query=mysqli_query($conn,"SELECT * FROM `PNLAVG` WHERE `month` = '".$displayMonth."' AND `year` = '".$displayYear."' AND `xeroOrgID` = '".$_SESSION["companyName"]."' AND `month` <> 0");
$col = mysqli_fetch_assoc($query);
$colfrac = number_format($col['OM'],2);
//echo $colfrac;
$xaxis_linerows['data'][] = $colfrac;
$xaxis['data'][] = $axisDisplayMonth."-".substr($displayYear, 2);
$displayMonth = $displayMonth - 1;
if($displayMonth == 0){
$displayMonth = 12;
$displayYear = $displayYear - 1;
}
}
$xaxis_linerows['data'] = array_reverse($xaxis_linerows['data']);
//print_r( $xaixs_linerows['data']);
$xaxis['data'] = array_reverse($xaxis['data']);
$result = array();
array_push($result,$xaxis);
array_push($result,$xaxis_linerows);
print json_encode($result);
//print json_encode($xaixs_linerows);
//JSON_NUMERIC_CHECK
?>
[{
"data": ["Jun-17", "Jul-17", "Aug-17", "Sep-17", "Oct-17", "Nov-17", "Dec-17", "Jan-18", "Feb-18", "Mar-18", "Apr-18", "May-18"]
}, {
"data": ["-2.46", "-0.27", "0.83", "-1.58", "-0.60", "0.65", "0.06", "-0.83", "0.07", "0.26", "0.16", "0.24"]
}]