Javascript 如何创建比例堆叠柱?
我有一个堆叠列的脚本,我想使它与每个条成比例,条内有标签。我该怎么做呢?我尝试了一些编辑,但不起作用。我目前正在使用谷歌图表。请帮帮我。谢谢 以下是脚本:Javascript 如何创建比例堆叠柱?,javascript,charts,google-visualization,Javascript,Charts,Google Visualization,我有一个堆叠列的脚本,我想使它与每个条成比例,条内有标签。我该怎么做呢?我尝试了一些编辑,但不起作用。我目前正在使用谷歌图表。请帮帮我。谢谢 以下是脚本: function drawVisualization() { var data = google.visualization.arrayToDataTable([ ['Year', 'Austria', 'Belgium', 'Czech Republic', 'Finland', 'France', 'Germany'], ['2003'
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Year', 'Austria', 'Belgium', 'Czech Republic', 'Finland', 'France', 'Germany'],
['2003', 1336060, 3817614, 974066, 1104797, 6651824, 15727003],
['2004', 1538156, 3968305, 928875, 1151983, 5940129, 17356071],
['2005', 1576579, 4063225, 1063414, 1156441, 5714009, 16716049],
['2006', 1600652, 4604684, 940478, 1167979, 6190532, 18542843],
['2007', 1968113, 4013653, 1037079, 1207029, 6420270, 19564053],
['2008', 1901067, 6792087, 1037327, 1284795, 6240921, 19830493]
]);
var options = {
title:"Yearly Coffee Consumption by Country",
width:1000, height:400,
isStacked: true,
hAxis: {title: "Year"}
};
var chart = new google.visualization.ColumnChart(document.getElementById('visualization'));
chart.draw(data,options);
}
google.setOnLoadCallback(drawVisualization);
如果我的数据是字符串/文本呢?如何将标签放入图形中并使其成比例?有可能吗
示例数据:
['Year', 'Austria', 'Belgium', 'Germany'],
['2003', AB, BA, CA],
['2004', AC, BB, CB],
['2005', AD, BC, CC]
使用DataView计算每个单元格的比例总计,并创建注释以标记条形图:
var columns = [0];
for (var i = 1; i < data.getNumberOfColumns(); i++) {
// add a column that calculates the proportional value of this column to the total
columns.push({
type: 'number',
label: data.getColumnLabel(i),
calc: (function (col) {
return function (dt, row) {
var val = dt.getValue(row, col);
var total = 0;
for (var j = 1; j < dt.getNumberOfColumns(); j++) {
total += dt.getValue(row, j);
}
return (total == 0) ? null : {v: val / total, f: val.toString()};
};
})(i)
});
// add an annotation column that puts a label on the bar
columns.push({
type: 'string',
role: 'annotation',
sourceColumn: i,
calc: 'stringify'
});
}
view.setColumns(columns);
var列=[0];
对于(var i=1;i
参见此处示例:推送的含义是什么?如果数据是文本/字符串呢?这是相同的公式?堆叠的其他层没有标签
push
方法是一种Array
方法,它将一个新元素添加到数组的末尾。图表的所有层都有注释,但可能没有足够的空间显示它们。如果你增加图表的高度,你可以看到他们:好的,我明白了。如果我的数据不是整数怎么办?如果是文本或字符串呢?代码的结构可能需要更改一点。您是否可以使用希望使用的示例数据更新您的问题?