Summary
RGraph demo page: A customised Gauge chart which can be adjusted

RGraph demo: A customised and adjustable Gauge chart

A customised and adjustable Gauge chart

This example Gauge chart doesn't use the built-in adjusting but uses a cutom onclick event listener (which you can see below) in order to make the adjusting animated. It also uses a custom ondraw event to draw the centerpin.

[No canvas support]

This goes in the documents header:
<script src="RGraph.common.core.js"></script>
<script src="RGraph.common.dynamic.js"></script>
<script src="RGraph.common.effects.js"></script>
<script src="RGraph.gauge.js"></script>
Put this where you want the chart to show up:
<canvas id="cvs" width="250" height="250" style="background-color: black; border-radius: 125px; box-shadow: 0 0 25px gray; border: 5px solid #ddd">
    [No canvas support]
</canvas>
This is the code that generates the chart:
<script>
    window.onload = function ()
    {
        var gauge = new RGraph.Gauge({
            id: 'cvs',
            min: 0,
            max: 10,
            value: 7,
            options: {
                anglesStart: RGraph.PI - (RGraph.PI / 8),
                anglesEnd: RGraph.TWOPI + (RGraph.PI / 8),
                shadow: false,
                textColor: 'white',
                tickmarksBigColor: 'white',
                tickmarksMediumColor: 'white',
                tickmarksSmallColor: 'white',
                colorsRanges: [],
                backgroundColor: 'black',
                borderInner: 'black',
                borderOuter: 'black',
                borderOutline: 'black',
                needleColors: ['red'],
                needleType: 'line',
                needleTail: true,
                centerpinRadius: 0.1,
                titleTop: 'Speed',
                titleTopColor: 'white',
                labelsCentered: true,
                labelsOffset: 7,
                textAccessible: true
            }
        }).on('draw', function (obj)
        {
            // This circle becomes the border of the centerpin
            RGraph.path2(obj.context, ['b','a',obj.centerx, obj.centery, 10, 0, RGraph.TWOPI, false,'f','#aaa']);
        }).draw();
        
        //
        // Add a click handler to the canvas to enable adjusting
        //
        gauge.canvas.onclick = function (e)
        {
            var ca  = e.target;
            var obj = ca.__object__;

            var value = obj.getValue(e);
            obj.value = value;
            obj.grow();
        }
    };
</script>

« Back