How to create a floating progress bar

A guide for creating a floating progress bar with RGraph. Floating progress bars are achievable with a minimal amount of configuration to the existing progress bars

RGraph doesn't support floating progress bars as an option, though by using the CSS3 colour rgba() colour selector it can be achieved. It works by setting the inner stroke and the first colour to transparent so that they cannot be seen. If using tooltips then the first tooltip will also need to be set to null.

The original progress bar

Here the original progress bar is shown before altering the colours.

[No canvas support]
<script>
    var hprogress = new RGraph.HProgress({
        id: 'cvs1',
        min: 0,
        max: 20,
        value: [5,4,2,4],
        options: {
            margin: 5,
            tickmarks: 10,
            tickmarksInner: true,
            colors: ['red','#0f0','yellow','pink'],
            tooltips: ['Gary','Joel','Peter','Rich'],
            textSize: 14
        }
    }).draw();
</script>

The floating progress bar

Now the colours and values are set accordingly to make the progress appear as though it's floating. You will need to calculate the first value so that the first section of the bar is positioned correctly. The first colour is set to transparent (rgba(0,0,0,0), the stroke colour is set to transparent and the first tooltip (if tooltips are used) is set to null.

[No canvas support]
[No canvas support]
<script>

    var hprogress = new RGraph.HProgress({
        id: 'cvs2',
        min: 0,
        max: 20,
        value: [5,4,2,4],
        options: {
            margin: 5,
            tickmarks: 10,
            tickmarksInner: true,
            colors: ['rgba(0,0,0,0)','#0f0','yellow','pink'],
            tooltips: [null,'Joel','Peter','Rich'],
            textSize: 14,
            colorsStrokeInner: 'rgba(0,0,0,0)'
        }
    }).draw()

    var vprogress = new RGraph.VProgress({
        id: 'cvs2',
        min: 0,
        max: 20,
        value: [5,4,2,4],
        options: {
            margin: 5,
            tickmarks: 10,
            tickmarksInner: true,
            colors: ['rgba(0,0,0,0)','#0f0','yellow','pink'],
            tooltips: [null,'Joel','Peter','Rich'],
            textSize: 14,
            colorsStrokeInner: 'rgba(0,0,0,0)'
        }
    }).draw()
</script>