我使用HighCharts插件绘制图表。但是我有一些麻烦:当图表为空时,我只会看到xAxis,而不会显示yAxis。当图表不为空并且具有用于绘制图表的数据时,yAxis将显示。我找不到解决此问题的方法。
function drawChart(jsonData) {
var rate = 20;
var is3Axis = $("#sel_charttype").val() == "1";
var options = {
chart: {
renderTo: 'chart',
defaultSeriesType: 'line',
margin: [50, 65, 50, 55],
backgroundColor: '#fff'
},
title: null,
xAxis: {
categories: jsonData.timeTicks
},
tooltip: {
enabled: true,
formatter: function () {
return '<b>' + this.series.name + '</b><br/>' +
this.x + ': ' + this.y;
}
},
plotOptions: {
line: {
dataLabels: {
enabled: true,
style: {
fontSize: '13px'
},
x: 0,
y: -10
},
marker: {
symbol: 'circle'
}
}
},
legend: {
layout: 'horizontal',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 0,
floating: false,
shadow: false,
borderWidth: 0,
itemStyle: {
fontSize: '11px'
}
},
credits: {
enabled: false
}
};
if (is3Axis) {
options.yAxis = [
//primary axis
{
title: {
text: 'Amount'
},
gridLineColor: '#f1f1f1'
},
{
gridLineWidth: 0,
title: {
text: 'Total',
style: {
//color: '#89A54E'
}
},
opposite: true
}
];
options.series = jsonData.summary3AxisData;
} else {
// options.chart.margin[1] = 30;
options.yAxis = {
title: {
text: ''
},
gridLineColor: '#f1f1f1'
};
options.series = jsonData.summaryData;
}
if (chart)
$("#chart").html('');
chart = new Highcharts.Chart(options);
if (jsonData.url) {
$("#chart .highcharts-container").css("cursor", "pointer").click(function () {
window.open(jsonData.url, "_self");
});
}
}
最佳答案
ShowEmpty应该工作,报告为here。
解决方法很简单:始终使用至少一个系列,例如设置showInLegend: false
,请参见:http://jsfiddle.net/3UPQF/
请注意,需要设置轴的最小值和最大值。
关于javascript - HighCharts插件JQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19631997/