Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌(图表)可视化:在图例中显示价值_Javascript_Charts_Google Visualization - Fatal编程技术网

Javascript 谷歌(图表)可视化:在图例中显示价值

Javascript 谷歌(图表)可视化:在图例中显示价值,javascript,charts,google-visualization,Javascript,Charts,Google Visualization,我已经在我的页面中添加了一个谷歌可视化饼图。这一切都很好,我没有问题定制它与预定义的选项。但是,没有在图例中显示值而不是百分比的选项,只能在切片本身中或悬停工具提示上显示 我想显示图例中的值和切片中的百分比(我可以通过选项执行后者) 为了一个额外的分数。。。我是否可以在值的末尾附加“MW”,即输出145WM,而不仅仅是145 我当前图表的代码: 我确信这很明显,但数据是动态引入的。向图例添加值的唯一方法是更改标签列数据的值或格式化值,这也将更改工具提示中的标签 在数字末尾添加“MW”很简单:只需

我已经在我的页面中添加了一个谷歌可视化饼图。这一切都很好,我没有问题定制它与预定义的选项。但是,没有在图例中显示值而不是百分比的选项,只能在切片本身中或悬停工具提示上显示

我想显示图例中的值和切片中的百分比(我可以通过选项执行后者)

为了一个额外的分数。。。我是否可以在值的末尾附加“MW”,即输出145WM,而不仅仅是145

我当前图表的代码:


我确信这很明显,但数据是动态引入的。

向图例添加值的唯一方法是更改标签列数据的值或格式化值,这也将更改工具提示中的标签

在数字末尾添加“MW”很简单:只需使用:


很难为谷歌图表找到合适的文档,我最大的担心是,因为它没有文档,所以随时都可能被带走,但这应该可以满足您的需要:

chart1.options = {
    .
    .
    .
    pieSliceText: 'value',
    legend: {
        position: 'labeled',
        labeledValueText: 'both',
        textStyle: {
            color: 'blue', 
            fontSize: 14
        }
    }
};
对于PieSiceTextlabeledValueText这两个选项,我都成功地使用了以下选项:

 value
 both
 none
 percent
但是,我不确定百分比是多少,因为如果我使用任何垃圾词,都会得到相同的结果。至于文本它似乎不接受这两个值。此外,labeledValueText上无法识别none

因此,为了确保您必须尝试不同的组合。我个人希望在文本中同时包含这两个元素,但在标记的图例中包含这两个元素对我来说已经足够好了


不幸的是,谷歌图表的选项缺乏一致性,但这可能是因为他们不想继续支持它们。更不幸的是,如果这些文档存在,几乎不可能找到。

您必须创建变量并动态获取数据

var legendValue = 100;
var legendText1= 'legend1' + legendValue;

data.addRows([[legendText1,legendValue],[],[]])
使用下面的设置

legend: { position: 'labeled', labeledValueText: 'none'}
和下面的代码以自定义图例文本

var total = 0;
for (var i = 0; i < dataPie.getNumberOfRows(); i++) {
    total = total + dataPie.getValue(i, 1);
}

for (var i = 0; i < dataPie.getNumberOfRows(); i++) {
    var label = dataPie.getValue(i, 0);
    var val = dataPie.getValue(i, 1);
    var percentual = Math.round(((val / total) * 100));
    dataPie.setFormattedValue(i, 0, label + ' - ' + ' (' + percentual + '%)');
}
var总计=0;
对于(var i=0;i
谢谢您的回复。附加的MW工作得很好,非常感谢!在图例中添加值似乎是我目前无法实现的,似乎是这样。在本例中,我实际上希望隐藏值,但保留切片的名称(在下图中,隐藏%年龄,但保留国家名称)。似乎也没有选择:/最后,有一些奇怪的对齐错误。你可以在幻灯片中看到法国的价值。似乎无法像其他部分一样正确对齐。使用将
图例设置为
“标记”
(我知道这很奇怪)时,无法关闭百分比。与France类似的对齐问题通常是由于以下两种情况之一造成的:要么是API加载不当,要么是在隐藏的div中绘制图表。从您放在Pastebin上的代码来看,这两种情况似乎都不适用于您。你是过去几天里第二个报告类似问题的人。在另一种情况下,对齐问题只存在于Chrome中,并且只存在于一些用户(我自己无法复制)。继续…我建议在这里提交错误报告:。包括为您重现问题的代码(如果该代码显示问题,则可以链接到Pastebin),以及尽可能多地提供有关本地环境的详细信息(操作系统、使用的浏览器[版本号])。您好。再次感谢你的回复。对齐错误有一个有趣的地方。。。它出现在实际的谷歌可视化饼图页面上,请参见屏幕截图:。我可以确认这在OSX Mountain Lion下的Chrome中存在,但对我来说不是Firefox或Safari(我想知道它是如何工作的,当然它在Chrome中测试得最多!)。我将向你发布的链接提交一份bug报告:)bug报告提交:非常感谢你的回答。我真的在zoogle的文档中找不到这些图例选项。
var total = 0;
for (var i = 0; i < dataPie.getNumberOfRows(); i++) {
    total = total + dataPie.getValue(i, 1);
}

for (var i = 0; i < dataPie.getNumberOfRows(); i++) {
    var label = dataPie.getValue(i, 0);
    var val = dataPie.getValue(i, 1);
    var percentual = Math.round(((val / total) * 100));
    dataPie.setFormattedValue(i, 0, label + ' - ' + ' (' + percentual + '%)');
}