HOWTO: Create a floating progress bar using transparent colors

RGraph doesn't support floating progress bars as an option, though by using the CSS3 color rgba color selector it can be achieved. It works by setting the inner stroke and the first color 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's the source-code for the original progress bar before altering the colors.

<script>
    new RGraph.HProgress({
        id: 'cvs',
        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 colors 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 color is set to transparent (rgba(0,0,0,0), the stroke color is set to transparent and the first tooltip (if tooltips are used) is set to null.

<script>
    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();
</script>

And here's a Vertical Progress bar example:

<script>
    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>