我有一个柱形图,显示当前和前几年的功耗。现在这种消耗来自不同的来源,所以我想在显示堆积值的多个列中绘制这些值。
我正在使用谷歌图表,但在options数组中将isStacked
参数设置为true
只会堆叠特定行的每个值。我想要实现的是这样的:
即具有多个堆叠列的行。这甚至可以使用Google Chart API吗?
答案 0 :(得分:2)
这对于kludge来说是可行的:
function drawVisualization() {
// Create and populate the data table.
var data = google.visualization.arrayToDataTable([
['Country', 'Cars', 'Trucks'],
['', null, null],
['US', 15, 15],
['Canada', 17, 17],
['Europe', 13, 13],
['Mexico', 16, 16],
['Asia', 20, 20],
['', null, null],
['US', 15, 15],
['Canada', 17, 17],
['Europe', 13, 13],
['Mexico', 16, 16],
['Asia', 20, 20],
['', null, null],
['US', 15, 15],
['Canada', 17, 17],
['Europe', 13, 13],
['Mexico', 16, 16],
['Asia', 20, 20],
['', null, null],
['US', 15, 15],
['Canada', 17, 17],
['Europe', 13, 13],
['Mexico', 16, 16],
['Asia', 20, 20],
['', null, null],
]);
// Create and draw the visualization.
new google.visualization.ColumnChart(document.getElementById('visualization')).
draw(data,
{isStacked:true, width:800, hAxis: {showTextEvery:1, slantedText:true}}
);
}
这可能不是一个好方法。基本上,您试图让单个图表显示太多信息,并且将您的数据拆分为多个图表会好得多。例如,您可以使用domain roles,或者您可以使用折线图来比较卡车和汽车之间的差异(由于基线不同,您目前无法做到这一点)。您还可以将汽车或卡车上的不同国家作为标准柱形图(未堆叠)进行比较。您可以使用chart interaction来允许用户选择他们想要查看的数据。看起来您正在尝试重新创建一个不与交互式技术交互的现有Excel图表,因此最好的方法是重新考虑应该如何使用它,因为技术的转变可以进行交互。