如何设置 googleVis 气泡图的 colorAxis?

How do I set the colorAxis of a googleVis bubble chart?

我尝试调整 GoogleVis 气泡图 example,使其具有基于利润列的气泡的连续色标:

library(googleVis)
Bubble <- gvisBubbleChart(Fruits, idvar="Fruit", 
                          xvar="Sales", yvar="Expenses",
                          colorvar="Profit", 
                          options=list(
                              ## custom color
                              ## colors = "['red', 'green', 'blue']",
                              ## custom color scale does not work
                              colorAxis="{colors: ['yellow', 'red']}",
                              hAxis='{minValue:75, maxValue:125}'))
plot(Bubble)

然而,无论我尝试使用 'colorAxis' 选项,它都不起作用,而我确实遵循 official documentation。这看起来很奇怪,因为当我查看绘图的源代码时,我可以看到设置了选项:

// jsDrawChart
function drawChartBubbleChartID2b6add84971() {
var data = gvisDataBubbleChartID2b6add84971();
var options = {};
options["colorAxis"] = {colors: ['yellow', 'red']};
options["hAxis"] = {minValue:75, maxValue:125};
    var chart = new google.visualization.BubbleChart(
    document.getElementById('BubbleChartID2b6add84971')
    );
    chart.draw(data,options);   
}

我做错了什么?感谢您的帮助。

更新:

我在 GitHub 上添加了一个 issue 后,在 GitHub (devtools::install_github("mages/googleVis")) 上,当前开发者版本的问题应该已经解决。事实上,它有效:


问题好像是数据列"Profit":

var datajson = [
                ["Apples", 98, 78, "20"],
                ["Oranges", 96, 81, "15"],
                ["Bananas", 85, 76, "9"]
               ];

data.addColumn('string','Fruit');
data.addColumn('number','Sales');
data.addColumn('number','Expenses');
data.addColumn('string','Profit');

由于某些原因,我没有看到此列被定义为 string 类型的列。当您将相关行更改为

var datajson = [
                    ["Apples", 98, 78, 20],
                    ["Oranges", 96, 81, 15],
                    ["Bananas", 85, 76, 9]
                   ];

data.addColumn('number','Profit');

渐变色标应用于气泡。

这可能是 googleVis 实现中的错误,因为 Fruits 数据将利润列定义为数字。