在Knob js中的Highcharts全圆规

时间:2015-08-19 14:59:29

标签: javascript jquery highcharts jquery-knob

是否有任何简单的示例(最好使用JSFiddle)来实现一个完整的圆形量规,其中包含来自jQuery knob下面的Highcharts?

enter image description here

以下是我到目前为止:http://jsfiddle.net/skeletorkun/grn5o39e/1/

$(function () {

    var gaugeOptions = {

        chart: {
            type: 'solidgauge'
        },

        title: null,

        pane: {
            center: ['50%', '50%'],
            size: '100%',
            startAngle: 0,
            endAngle: 360,
            background: {
                backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
                innerRadius: '60%',
                outerRadius: '100%',
                shape: 'arc'
            }
        },

        tooltip: {
            enabled: false
        },

        // the value axis
        yAxis: {
            stops: [
                [0.1, '#55BF3B'], // green
                [0.5, '#DDDF0D'], // yellow
                [0.9, '#DF5353'] // red
            ],
            lineWidth: 0,
            minorTickInterval: null,
            tickPixelInterval: 400,
            tickWidth: 0,
            title: {
                y: -70
            },
            labels: {
                y: 16
            }
        },

        plotOptions: {
            solidgauge: {
                dataLabels: {
                    y: 5,
                    borderWidth: 0,
                    useHTML: true
                }
            }
        }
    };


    // The RPM gauge
    $('#container-rpm').highcharts(Highcharts.merge(gaugeOptions, {
        yAxis: {
            min: 0,
            max: 100,
            title: {
                text: 'sth'
            }
        },

        series: [{
            name: 'RPM',
            data: [92],
            dataLabels: {
                format: '<div style="text-align:center"><span style="font-size:25px;color:' +
                    ((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">{y}</span><br/>'

            },
            tooltip: {
                valueSuffix: ' revolutions/min'
            }
        }]

    }));




});

2 个答案:

答案 0 :(得分:5)

您可以通过实心仪表实现并在窗格中设置正确的角度。

pane: {
        center: ['50%', '50%'],
        size: '100%',
        startAngle: 0,
        endAngle: 360,
        background: {
            backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
            innerRadius: '60%',
            outerRadius: '100%',
            shape: 'arc'
        }
    },

示例:http://jsfiddle.net/e76o9otk/1/

答案 1 :(得分:1)

jQuery roundSlider适合你吗?

这是仅使用div元素制作的,因此非常容易定制并且易于使用。

有关详细信息,请查看demos页面。

与您的要求相同的jsFiddle演示