Google visualization 如何从Google Visualizations量表中删除值标签?
我在页面上使用Google Visualizations仪表,但重要的是它显示的值不能显示为指针正下方的标签 我找到了两种方法。在DOM中导航到gauge小部件并导航到SVG片段后,可以将textContent元素设置为空字符串,也可以完全删除整个文本标签实体Google visualization 如何从Google Visualizations量表中删除值标签?,google-visualization,Google Visualization,我在页面上使用Google Visualizations仪表,但重要的是它显示的值不能显示为指针正下方的标签 我找到了两种方法。在DOM中导航到gauge小部件并导航到SVG片段后,可以将textContent元素设置为空字符串,也可以完全删除整个文本标签实体 function removeLabel(widget) { var gauge_label_parent = widget.getElementsByTagName("g")[1]; var gauge_label =
function removeLabel(widget) {
var gauge_label_parent = widget.getElementsByTagName("g")[1];
var gauge_label = gauge_label_parent.getElementsByTagName("text")[0];
gauge_label.textContent = "";
// Another way of getting rid of the text: remove the element
// gauge_label_parent.removeChild(gauge_label);
}
问题是:这两种技术都只在第一次起作用。如果我使用更新的值重新绘制仪表,则标签会重新出现,并且尝试删除标签元素或设置textContent=“”不会产生任何效果
因此,不只是能够通过以下方式更新值:
data.setValue(0, 1, newValue);
chart.draw(data, options);
我发现我必须稍微改变一下选项,比如:
data.setValue(0, 1, newValue);
options.minorTicks = 3; // Change the options somehow
chart.draw(data, options); // Tell gauge to draw that
options.minorTicks = 2; // Change the options back to what they were
chart.draw(data, options); // Draw again
这里有一把小提琴,看看它是如何工作的。根据是否存在标签问题,将fixLabel设置为true或false。请记住,标签将(正确地)第一次丢失。更新其值时,它将重新显示。
因此,有几个问题:
- 知道它为什么这么做吗
- 有没有一种方法可以在不必通过此选项更改业务的情况下删除标签
- 附加问题:我是不清楚minorTicks应该如何工作,还是它坏了?文档说它应该是两个专业之间的小刻度的数量,但是设置为2只会给我一个小刻度,设置为3会给我2,等等。如果我设置为0或1,我会在控制台中得到“解析d=“””的问题
- 好的,我试着回答:
1) 当前API版本不管理标签选项
解决方法:尝试使用此CSS
svg g g {
font-size:0px;
}
上面的提琴向你解释了米诺蒂克的意思。如果设置2,则得到3个“空格”,这是正确的。次要厚度表示两个主要厚度之间的“空白”空间数。在本例中,您将看到箭头和代表次粗线的细线之间的完美匹配 添加到Madthews答案: 对于那些试图从Google Gague图表中删除标签的人 如果您将以下代码添加到页面中(为了保持页面整洁,我将其放在页眉中),那么您可以将标签的字体大小设置为任意大小
<style>
* {text-rendering: optimizeLegibility; font-size:100%;}
svg g g {font-size:0px;}
</style>
*{文本呈现:优化易读性;字体大小:100%;}
svg g{字体大小:0px;}
我一直在玩弄这一点有一段时间了,上面的css顶行是必不可少的,否则它将无法工作 您可以只插入带有空白格式字段的值,而不必处理样式
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Unitless Indicator', {v:counter, f:''} ]
]);
这也适用于addRows
jsfiddle这里:这个怎么样
['Label', 'Value'],
['', 80]
用这个。这也被谷歌贴上了标签
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['', {v: <Your_own_value_of_the_gauge_meter>, f: ''}],
]);
var data=google.visualization.arrayToDataTable([
['Label','Value'],
['',{v:,f'''}],
]);
使用您的值变量代替“”。就这样