谷歌图表时间线:问题与着色&条形标签
Google Charts Timeline: Issue with coloring & bar labels
我有一个时间表。当我的时间线中只有3列(行标签、开始日期、结束日期)并为其上色时,一切都很完美。然而,我在时间线上添加了另一列(条形标签),现在颜色都乱了。有人知道如何解决这个问题吗?如果不是,这个问题会被认为是一个bug吗。
jsfiddle上演示该问题的示例代码片段:https://jsfiddle.net/9egybsro/
查看我的硬编码颜色阵列:
var color = ['#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#868686',
'#FF9900',
'#FF9900'
]
除倒数第三个小节外的所有小节都应为橙色。倒数第三条应为灰色。如图所示,当按下run按钮时,所有的条形图都是橙色的。
默认情况下,colors
跟随条形码
设置timeline.colorByRowLabel
使用colors
阵列的行标签/位置
timeline: {
colorByRowLabel: true
}
否则,请使用不同的条形标签。。。
var barLabel = [];
for (var i = 0; i < startDate.length; ++i) {
barLabel.push("potato" + i);
}
请参阅以下工作片段。。。
google.charts.load('current', {
'packages': ['timeline']
});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var container = document.getElementById("timeline");
var chart = new google.visualization.Timeline(container);
var dataTable = new google.visualization.DataTable();
dataTable.addColumn({
type: 'string',
id: 'account_name'
});
dataTable.addColumn({
type: 'string',
id: 'bar_label'
});
dataTable.addColumn({
type: 'date',
id: 'Start'
});
dataTable.addColumn({
type: 'date',
id: 'End'
});
var name = ['Russ Hanneman',
'Gavin Belson',
'Jack Barker',
'Peter Gregory',
'Jian Yang',
'Richard Hendrix',
'Dinesh Chugtai',
'Bertram Gilfoyle',
'Erlich Bachman',
'Monica Hall',
'Nelson Bighetti',
'Aaron Anderson',
'Donald ''OJ'' Dunn'
]
var startDate = [new Date(2016, 0, 2),
new Date(2015, 5, 1),
new Date(2015, 11, 31),
new Date(2014, 0, 1),
new Date(2016, 6, 16),
new Date(2016, 9, 12),
new Date(2017, 5, 20),
new Date(2019, 0, 1),
new Date(2015, 0, 1),
new Date(2016, 9, 21),
new Date(2015, 8, 1),
new Date(2017, 6, 4),
new Date(2015, 6, 17)
]
var endDate = [new Date(2025, 6, 25),
new Date(2016, 11, 17),
new Date(2016, 2, 4),
new Date(2018, 6, 16),
new Date(2017, 11, 25),
new Date(2020, 2, 3),
new Date(2019, 6, 13),
new Date(2019, 9, 16),
new Date(2018, 9, 23),
new Date(2019, 7, 12),
new Date(2019, 2, 17),
new Date(2022, 3, 1),
new Date(2021, 0, 21)
]
var barLabel = [];
for (var i = 0; i < startDate.length; ++i) {
barLabel.push("potato");
}
var color = ['#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#FF9900',
'#868686',
'#FF9900',
'#FF9900'
]
heightVal = 50 * name.length;
if (heightVal > 500) {
heightVal = 500;
}
document.getElementById("timeline").style = "height: " + heightVal.toString() + "px;";
var accounts = [];
for (i = 0; i < endDate.length; i++) {
accounts.push([name[i], barLabel[i], startDate[i], endDate[i]]);
}
var options = {
colors: color,
timeline: {
colorByRowLabel: true
}
};
dataTable.addRows(accounts);
chart.draw(dataTable, options);
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<p id="demo"></p>
<div id="timeline" style="height: 240px;"></div>
已解决。colorByRowLabel需要设置为true。我相信,如果条形标签的值设置为false,而不是该行相对于颜色数组的索引,那么它将被用作着色的度量。
相关文章:
- 在<页眉>标签
- jquery点击函数select&取消选择
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- Angular js-返回一个包含类似
- 一点javascript元编程&可链接的设置器
- Twitter引导程序Typeahead-Id&标签
- 用于x轴的Dojo图表选择性标签&网格
- 删除 p标签之间
- 在每个条形图的中间添加文本标签&鼠标悬停事件
- 谷歌标签管理器添加&instrad of just&转换为脚本src
- gRaphael折线图:用JSON数据填充弹出标签而不是x&y坐标
- 钛:标签&选项卡组-自定义;backgroundImage”;
- 在带有id&标签
- jQuery针对特定ul&李标签
- javascript替换®和html标签
- JavaScript DOM api能得到属性&的原始大小写吗?标签的名字
- 使用Switch语句来更改值&根据预先存在的值为文本输入插入标签
- 防止降价处理器转换“>"至“>"在<脚本>标签
- 谷歌图表时间线:问题与着色&条形标签