我需要使用HighCharts绘制雷达图;特别是,所有系列都有不同的规模。我能够使用多个刻度(每个y轴一个)正确绘制雷达图,但我在主y轴上看到多个重叠标签,这显然是错误的。现在,我想要在相应的y轴上绘制与每个y轴相关的标签。我怎么能这样做?
这是一个可以粘贴在jsFiddle中的片段,用于验证标签是否确实重叠。
$(function () {
window.chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
polar: true,
type: 'line',
zoomType: 'xy'
},
title: {
text: 'Indicators Radar Chart',
x: -80
},
pane: {
size: '90%'
},
xAxis: {
categories: ['A', 'B', 'C', 'D'],
tickmarkPlacement: 'on',
lineWidth: 0,
min: 0
},
yAxis: [{
gridLineInterpolation: 'polygon',
lineWidth: 0,
min: 0,
labels: {
enabled: true
}
}, {
gridLineInterpolation: 'polygon',
lineWidth: 0,
min: 0,
labels: {
enabled: true
}
}, {
gridLineInterpolation: 'polygon',
lineWidth: 0,
min: 0,
labels: {
enabled: true
}
}],
tooltip: {
shared: true,
valuePrefix: ''
},
legend: {
align: 'right',
verticalAlign: 'top',
y: 100,
layout: 'vertical'
},
series: [{
name: 'Austria',
yAxis: 0,
data: [0.130435, 35.043480, 29288.695312, 236960.296875],
pointPlacement: 'on'
}, {
name: 'Germany',
yAxis: 1,
data: [0.000000, 42.217392, 149103.906250, 589782.500000],
pointPlacement: 'on'
}, {
name: 'Italy',
yAxis: 2,
data: [2.304348, 44.826088, 132805.218750, 878785.937500],
pointPlacement: 'on'
}]
});
});
我想要获得的输出是这样的:对于这个特定的图表,与不同比例相关的标签沿着每个轴出现:从中心点到A,从中心点到B,从中心点到C从中心点到D.问题是,现在所有标签都出现在同一轴上,从中心点到A。
提前谢谢。
答案 0 :(得分:0)
演示:http://www.highcharts.com/jsbin/eyugex/edit
您似乎假设每个轴从中心延伸到不同方向,但事实并非如此。所有Y轴都从中心延伸。 X轴从图表的顶部开始,沿周边顺时针跟随周边,并在顶部结束。 Y轴标签绘制在X轴开始的位置,即向上。
在这样的图表中,添加多个Y轴是没有意义的,因为它们都是相互叠加的,并且您无法在视觉上区分彼此。