如何使用HighCharts向折线图的y轴添加渐变?

时间:2013-10-09 00:56:41

标签: javascript highcharts

我试图沿两个y轴构建一个带有渐变指示器的折线图。

这是一个例子,它带给我约90%的路程:

$('#container').highcharts({
    // ...
    yAxis: [{
        title: {
            text: 'parts per million',
            style: {
                color: '#444'
            }
        },
        opposite: true,
        lineColor: {
            linearGradient: [0, 0, 0, 300],
            stops: [
                [0, 'rgb(255, 0, 0)'],
                [0.5, 'rgb(255, 255, 0)'],
                [1, 'rgb(0, 255, 0)'],

                ]
        },
        lineWidth: 15,
        offset: 10
    }, {
        opposite: false,
        linkedTo: 0,
        gridLineWidth: 0,
        title: {
            text: 'parts per million',
            style: {
                color: '#444'
            }
        },
        lineColor: {
            linearGradient: [0, 0, 0, 300],
            stops: [
                [0, 'rgb(255, 0, 0)'],
                [0.5, 'rgb(255, 255, 0)'],
                [1, 'rgb(0, 255, 0)']
            ]
        },
        lineWidth: 15,
        offset: 10
    }]
    // ...

(请参阅http://jsfiddle.net/mmwhx/6/上的完整示例)

剩余的10%涉及精确控制渐变"停止",使得它们对应于沿y轴的值(例如,从50-100,条形应该是绿色;从100开始; -200,条形应为黄色;从200到轴的末端,条形应为红色)。因为我没有限制沿y轴的值范围,所以不可能使用0-1.0比例确定停止的位置。

如果以某种方式提供y轴的最大值,我总是可以计算停止点。但有些事情告诉我,可能有一种更优雅的方式来实现我想要的东西,尽管我很遗憾没有偶然发现任何例子。

0 个答案:

没有答案