graph - 如何在谷歌图表中绘制月份与文本标签图
问题描述
如何在 h 轴上创建月-年(2018 年 3 月)并在 V 轴上创建标签(数据库模块)的谷歌图表
[
['Database Module', new Date(2018, 3, 30),1],
['HR Module', new Date(2018, 1, 4), 1],
['Finance Module', new Date(2018, 2, 4),4],
['Operations Module', new Date(2018, 2, 4), 6],
['PP Module', new Date(2018, 2, 4), 1]
]
解决方案
不确定这是否是您要查找的图表,
但您可以使用 aDataView
为每个标签创建一个 v 轴列,
然后使用该group()
方法按日期求和...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var data = google.visualization.arrayToDataTable([
['Database Module', new Date(2018, 3, 30),1],
['HR Module', new Date(2018, 1, 4), 1],
['Finance Module', new Date(2018, 2, 4),4],
['Operations Module', new Date(2018, 2, 4), 6],
['PP Module', new Date(2018, 2, 4), 1]
], true);
var dataView = new google.visualization.DataView(data);
var labels = data.getDistinctValues(0);
var viewColumns = [1];
labels.forEach(function (label, index) {
viewColumns.push({
calc: function (dt, row) {
if (dt.getValue(row, 0) === label) {
return dt.getValue(row, 2);
}
return null;
},
label: label,
type: 'number'
});
});
dataView.setColumns(viewColumns);
var aggColumns = [];
labels.forEach(function (label, index) {
aggColumns.push({
aggregation: google.visualization.data.sum,
column: index + 1,
label: dataView.getColumnLabel(index + 1),
type: dataView.getColumnType(index + 1)
});
});
var dataGroup = google.visualization.data.group(dataView, [0], aggColumns);
var chartDiv = document.getElementById('chart_div');
var chart = new google.visualization.ColumnChart(chartDiv);
chart.draw(dataGroup, {
legend: 'bottom'
});
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
推荐阅读
- python - 使用 python beautiful soup 或 html 模块的电子邮件刮板
- ios - React-Native:无法输出到 console.log()?
- r - 数据量大时,dcast 无法转换字符列
- apache-spark-sql - 使用 spark sql 重命名 Parquet 文件中列名中的空格
- c# - if 语句中的索引超出范围
- java - Java Swing 通过单击创建椭圆
- algorithm - 根据更改的描述重新排列树
- c# - 尝试在 MonoGame 中加载 SpriteFont 时出现 NullReferenceException
- android - MySql 数据库中的阿拉伯值
- python - Elasticbeanstalk 如何授权创建负载均衡器?