【问题标题】:HighCharts: how to draw a radar plot showing different scale labels on each axis?HighCharts:如何绘制在每个轴上显示不同比例标签的雷达图?
【发布时间】:2013-01-30 15:05:55
【问题描述】:

我需要使用 HighCharts 绘制雷达图;特别是,所有系列都有不同的规模。我能够使用多个比例尺(每个 y 轴一个)正确绘制雷达图,但我在主 y 轴上看到多个重叠标签,这显然是错误的。现在,我想在相应的 y 轴上绘制与每个 y 轴相关的标签。我该怎么做?

这是一个sn-p,可以粘贴到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。

提前谢谢你。

【问题讨论】:

  • 你能分享一个jsFiddle吗?此外,您正在寻找的结束图的图像也会有所帮助
  • @JugalThakkar,我已经编辑了我的问题,添加了一个可以直接粘贴到 jsFiddle 中的代码 sn-p(只需添加雷达图所需的脚本就可以了);此外,我已经更好地解释了我想要达到什么样的结果。绘制图像需要一些时间(我对此很不擅长),但如果严格要求,我会尝试这样做。

标签: highcharts radar-chart


【解决方案1】:

演示:http://www.highcharts.com/jsbin/eyugex/edit

您似乎假设每个轴都从中心延伸到不同的方向,但事实并非如此。所有 Y 轴都从中心延伸。 X 轴从图表的顶部开始,顺时针绕着周边沿着周边,并在顶部结束。 Y 轴标签绘制在 X 轴开始的位置,即向上。

在这样的图表中,添加多个 Y 轴是没有意义的,因为它们都绘制在彼此之上,您无法从视觉上区分它们。

【讨论】:

  • 我知道标签是重叠的,因为它们是重叠绘制的。问题是我实际上需要多个 Y 轴,因为每个系列都需要不同的比例。 HighCharts 雷达图在绘制图表方面表现出色;但是,我需要绘制图表 2,如 scottlogic.co.uk/blog/graham/2011/09/a-critique-of-radar-charts 上出现的图表 2,其中每个轴都有不同的比例,并且在轴附近绘制标签。 HighCharts 似乎没有提供此功能的事实并不意味着它没有意义;-)
  • 所以,至少从我的角度来看,这个功能是对 HighCharts 的一个受欢迎的补充。库的丰富性来自于它提供的不同寻常的功能,而不是来自我们都期望看到的常见选项;-)
  • 无论如何,请更新您的答案,明确指出 HighCharts 不允许我要求的内容(可能会在下一个版本中出现?),我很乐意接受您的最终答案。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多