function generateChart(figures) {
    // figures is an object mapping labels to numbers
    var cht = 'p'; // Chart type: pie
    var chs = '460x200'; // Image dimensions
    var chd = []; // Chart data
    var chl = []; // Corresponding labels
    var min = 0;
    var max = 0;
    $.each(figures, function(label, value) {
        chl[chl.length] = label;
        chd[chd.length] = value;
        max = Math.max(max, value);
    });
    if (max == 0) {
        return ''; // Don't attempt to render blank graphs
    }
    var chds = '' + min + ',' + max; // Chart data scale
    chd = 't:' + chd.join(',');
    chl = chl.join('|');
    return 'http://chart.apis.google.com/chart?' + [
        'cht=' + cht,
        'chs=' + chs,
        'chd=' + chd,
        'chl=' + chl,
        'chds=' + chds
    ].join('&');
}