作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据表,其中包含过去 3 年的汽车销售数量。我想创建一个柱形图,其中每年都有“租赁”、“融资”和“现金销售”列。
我的表格有两列,一列用于销售日期,一列用于销售类型。
到目前为止我已经:
var groupedData = google.visualization.data.group(
googleDataTable,
[ { column: 0, modifier: getYearForRow, type: 'string', label: 'Year'} ],
[ { column: 1, type: 'string', label: 'Type'} ] );
这不起作用,我收到错误“TypeError:无法读取未定义的属性“调用””。关于如何让它发挥作用有什么建议吗?
最佳答案
首先,构建一个 DataView,其中包含每种销售类型的列
然后使用group方法聚合 View
请参阅以下工作片段...
google.charts.load('current', {
callback: drawChart,
packages:['corechart']
});
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Sale Date', 'Sale Type'],
[new Date(2016, 0, 16), 'cash sale'],
[new Date(2016, 0, 16), 'cash sale'],
[new Date(2016, 0, 16), 'leased'],
[new Date(2016, 0, 16), 'leased'],
[new Date(2016, 0, 16), 'financed'],
[new Date(2017, 0, 16), 'cash sale'],
[new Date(2017, 0, 16), 'cash sale'],
[new Date(2017, 0, 16), 'cash sale'],
[new Date(2017, 0, 16), 'financed'],
[new Date(2016, 0, 17), 'cash sale'],
[new Date(2016, 0, 17), 'financed'],
[new Date(2016, 0, 17), 'cash sale'],
[new Date(2016, 0, 17), 'leased'],
[new Date(2016, 0, 17), 'financed'],
[new Date(2017, 0, 17), 'financed'],
[new Date(2017, 0, 17), 'financed'],
[new Date(2017, 0, 17), 'cash sale'],
[new Date(2017, 0, 17), 'financed'],
[new Date(2016, 0, 18), 'leased'],
[new Date(2016, 0, 18), 'cash sale'],
[new Date(2017, 0, 18), 'cash sale'],
[new Date(2017, 0, 18), 'cash sale']
]);
// build view and aggregation columns
var viewColumns = [{
label: 'year',
type: 'string',
calc: function (dt, row) {
return dt.getValue(row, 0).getFullYear().toString();
}
}];
var aggColumns = [];
var saleTypes = data.getDistinctValues(1);
saleTypes.forEach(function (saleType) {
var colIndex = viewColumns.push({
label: saleType,
type: 'number',
calc: function (dt, row) {
return (dt.getValue(row, 1) === saleType) ? 1 : 0;
}
});
aggColumns.push({
aggregation: google.visualization.data.sum,
column: colIndex - 1,
label: saleType,
type: 'number'
});
});
var view = new google.visualization.DataView(data);
view.setColumns(viewColumns);
var summary = google.visualization.data.group(
view,
[0],
aggColumns
);
var container = document.body.appendChild(document.createElement('div'));
var chart = new google.visualization.ColumnChart(container);
chart.draw(summary, {
legend: {
position: 'top'
}
});
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
关于javascript - 在 Google 柱形图中按年份汇总类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41774277/
我想 reshape pandas 数据框, 我有这种格式的 csv 文件 #Result;ID;Date;Events;type 12;1240422;10/01/2017 10:10;1;Item
我有一个现有的 Highcharts ,我需要在其上突出显示单个列。 这是一个已经存在了一段时间的百分位图,我对 Highcharts 仍然很陌生,但我在这里看到了一个类似的问题,这个问题虽然涉及堆叠
我有一个多系列柱形图(在本例中为 3 个)。我想在所有系列的列上覆盖一条线。所以我用相同的列系列数据创建了另外 3 个 Line 系列。当只有一列和一行系列时,这非常有效。对于多个系列,线条呈现在类别
我是一名优秀的程序员,十分优秀!