A Scatter/Bubble/Pie combo chart

[No canvas support]

This goes in the documents header:
<script src="RGraph.common.core.js"></script>
<script src="RGraph.common.key.js"></script>
<script src="RGraph.pie.js"></script>
<script src="RGraph.scatter.js"></script>
Put this where you want the chart to show up:
<canvas id="cvs" width="600" height="200">
    [No canvas support]
</canvas>
This is the code that generates the chart:
<script>
    // Color of the bubbles. The Pie charts will go over these
    color = 'rgba(0,0,0,0)';

    // The various data arrays
    tooltips     = ['Bob', 'Hal','Craig','Olga','Fred','Peter','Lucy','Jerry'];
    scatter_data = [ [30,15,color], [60,5,color], [90,8,color], [120,19,color], [150,14,color], [50,12,color], [180,20,color], [250,21,color] ];
    bubble_data  = [50,60,70,80,90,84,86,100];
    pie_data     = [[4,8,6],[4,3,5],[9,5,6],[1,5,5],[5,3,8],[7,4,1],[4,6,5],[3,2,9]];
    
    // The maximum X value
    xmax = 365;
    
    // Labels for the Scatter
    labels = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
    
    // Colors for the Pie charts
    pie_colors = ['red', 'pink','blue'];

    // Create and configure the Scatter chart
    scatter = new RGraph.Scatter({
        id: 'cvs',
        data: scatter_data,
        options: {
            xaxisScaleMax: xmax,
            xaxisLabels: labels,
            textSize: 12,
            backgroundGridVlines: false,
            backgroundGridBorder: false,
            colorsBubbleGraduated: false,
            xaxis: false,
            key: ['Hal','Rod','Bob'],
            keyPosition: 'margin',
            keyColors: pie_colors
        }
    }).draw();

    var bubble = new RGraph.Scatter.Bubble(
        scatter,
        0,          // Minimum
        100,        // Maximum
        25,         // Max width
        bubble_data // bubble_data array from above
    ).draw();

    // Go through the bubble chart coordinates adding the Pie charts
    for (i=0; i<bubble.coords.length; ++i) {
    
        var x = bubble.coords[i][0],
            y = bubble.coords[i][1],
            r = bubble.coords[i][2];
    
        new RGraph.Pie({
            id: 'cvs',
            data: pie_data[i],
            options: {
                centerx: x,
                centery: y,
                radius: r,
                shadow: false,
                linewidth: 0,
                colorsStroke: 'white',
                colors: pie_colors,
            }
        }).roundRobin({frames: 20});
    }
</script>