【发布时间】:2017-09-25 21:13:16
【问题描述】:
我正在尝试使用 highcharts api 开发一个多轴组合图,x 轴为月份,多个 y 轴,2 个轴具有百分比,1 个轴具有数字。这与您在link 中看到的类似。当您拥有所有 12 个月的 y 轴数据时,这可以正常工作。在某些情况下,几个月的 y 轴数据丢失。在这种情况下,我仍然想在 x 轴上显示没有数据的月份。目前,如果我只有 2 个月的 y 轴数据(比如 6 月和 12 月),它将显示为 1 月和 2 月的数据。请找到我正在使用的代码,让我知道解决方法是什么。
var chartMonthlyData = {
title: {
text: ''
},
xAxis: [{
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
crosshair: true
}],
yAxis: [{
min: 0,
max: 50,
labels: {
format: '{value} %'
},
title: {
enabled: false
},
opposite: true
}, {
title: {
text: '',
},
labels: {
formatter: function () {
return this.value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
}
}, {
min: 0,
max: 50,
title: {
enabled : false
},
labels: {
enabled: false
},
opposite: true
}],
tooltip: {
shared: true
},
legend: {
layout: 'horizontal',
align: 'right',
x: -30,
verticalAlign: 'top',
y: -5,
floating: true,
backgroundColor: '#FFFFFF'
},
series: [{
color: '#C8102E',
name: 'Delivered',
type: 'column',
yAxis: 1,
data: deliveredMonthly,
tooltip: {
pointFormat: '<span style="color:{point.color}">\u25CF</span> {series.name}: <b>'
+ '{point.y}' +'</b><br/>'
}
}, {
color: '#AAAAAA',
name: 'Open Rate',
type: 'line',
yAxis: 2,
data: openRateMonthly,
lineWidth: 4,
marker: {
enabled: true,
"symbol": "circle"
},
tooltip: {
valueSuffix: ' %'
}
}, {
color: '#5891c8',
name: 'Clickthrough Rate',
type: 'line',
data: clickThroughRateMonthly,
lineWidth: 4,
marker: {
enabled: true,
"symbol": "circle"
},
tooltip: {
valueSuffix: ' %'
}
}]
}
在这张图片中,x 轴上的实际月份是一月、六月和八月。我需要在图表中显示 12 个月,并且 y 轴数据与月份正确关联。
【问题讨论】:
-
你能把这个放在 jsfiddle 里吗?
-
你能告诉我们每个系列的数据是什么吗?你有 x & y 数据吗?
标签: javascript highcharts timeserieschart