如何在Google图表上叠加文字?

时间:2013-09-02 18:14:53

标签: javascript charts google-visualization

我正在使用Google Charts将一些数据绘制到Stacked Area Chart中,如下所示: Stacked Area Chart with lots of data series

如您所见,此图表中有相当多的数据系列。非常好的是,当我将鼠标悬停在其中任何一个上时,它会自动显示该系列当月的值。如果我能够同时看到每个月的总金额作为文本叠加在每个“峰值”的顶部上会更好。

换句话说,我希望看起来更像这样: enter image description here

有没有办法做到这一点?谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个得到你想要的黑客:

// assumes your DataTable contains 1 month column and all other columns are the data series in your chart
var columns = [];
for (var i = 0, i < data.getNumberOfColumns(); i++) {
    columns.push(i);
}
columns.push({
    type: 'string',
    role: 'annotation',
    calc: function (dt, row) {
        var sum = 0;
        for (var i = 1, i < data.getNumberOfColumns(); i++) {
            sum += data.getValue(row, i);
        }
        return sum.toString();
    }
});
var view = new google.visualization.DataView(data);
view.setColumns(columns);

使用视图绘制图表而不是DataTable,您应该拥有所需的标签。