简体   繁体   English

删除谷歌图表时间线周围的边框和网格线

[英]Remove borders and gridlines around google chart timeline

I need to remove the border and the gridlines from the google charts timetable (see documentation )我需要从谷歌图表时间表中删除边框和网格线(请参阅文档

Right now it looks like this: with borders现在它看起来像这样:带边框
It should look like this: without borders它应该看起来像这样:没有边界

I made a stackblitz for it: https://stackblitz.com/edit/js-ozv5hr?file=index.html我为它做了一个stackblitz: https://stackblitz.com/edit/js-ozv5hr?file=index.html

It seems like the config options that you can use for example with line charts do not work with timelines.例如,您可以在折线图上使用的配置选项似乎不适用于时间线。

there are no config options available for removing the borders,没有可用于移除边框的配置选项,
but we can remove them manually on the chart's 'ready' event.但我们可以在图表的'ready'事件中手动删除它们。

see following working snippet...请参阅以下工作片段...

 google.charts.load("current", { packages: ["timeline"] }).then(function () { var container = document.getElementById("timeline"); var chart = new google.visualization.Timeline(container); var dataTable = new google.visualization.DataTable(); dataTable.addColumn({ type: "string", id: "Label" }); dataTable.addColumn({ type: "string", id: "Type" }); dataTable.addColumn({ type: "date", id: "Start" }); dataTable.addColumn({ type: "date", id: "End" }); dataTable.addRows([ ["A", "A", new Date(2021, 0, 0, 0), new Date(2021, 0, 0, 1)], ["A", "B", new Date(2021, 0, 0, 1), new Date(2021, 0, 0, 2)], ["A", "C", new Date(2021, 0, 0, 2), new Date(2021, 0, 0, 3)] ]); var options = { timeline: { groupByRowLabel: true, showRowLabels: false, showBarLabels: false }, avoidOverlappingGridLines: false, hAxis: { format: "HH:mm" }, gridlines: { color: "none" } }; google.visualization.events.addListener(chart, 'ready', function () { // find <rect> elements var rects = container.getElementsByTagName('rect'); Array.prototype.forEach.call(rects, function(rect) { if (rect.getAttribute('stroke') === '#9a9a9a') { // remove border rect.setAttribute('stroke-width', '0'); } }); // find <path> elements var paths = container.getElementsByTagName('path'); Array.prototype.forEach.call(paths, function(path) { if ((path.getAttribute('stroke') === '#ffffff') || (path.getAttribute('stroke') === '#e6e6e6')) { // remove border path.setAttribute('stroke-width', '0'); } }); }); chart.draw(dataTable, options); });
 <script src="https://www.gstatic.com/charts/loader.js"></script> <div id="timeline"></div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM