Как установить цветовую ось пузырьковой диаграммы googleVis? - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь адаптировать пузырьковую диаграмму GoogleVis пример с непрерывной цветовой шкалой для пузырьков на основе столбца прибыли:

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Это не работает, в то время как я следую официальной документации 1007 *.Это кажется странным, потому что когда я смотрю на исходный код графика, я вижу, что опция установлена:

// 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);   
}

Что я делаю не так?Спасибо за любую помощь.

1 Ответ

0 голосов
/ 09 ноября 2018

UPDATE:

После того, как я добавил проблему на GitHub, проблема должна быть решена для текущей версии разработчика на GitHub (devtools::install_github("mages/googleVis")). И действительно, это работает:

enter image description here


Проблема, похоже, в столбце данных «Прибыль»:

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 определяют столбец Profit как числовой.

...