2016-10-20 7 views
2

Я пытаюсь изменить подсказку Google Chart, но это не сработает. По словам Google, я должен поставить:Google Chart Tooltip не работает

data.addColumn({ type: 'string', role: 'tooltip' }); 

и

tooltip: { isHtml: true }, 

Но не работает. Я просто пытаюсь поставить фразу, вместо этого он ставит значение по умолчанию.

Это мой код:

google.charts.load("current", { packages: ["corechart"] }); 
google.charts.setOnLoadCallback(drawChart); 

function drawChart() { 

    var data = new google.visualization.DataTable(); 
    data.addColumn('string', 'Year'); 
    data.addColumn('number', 'Value'); 
    **data.addColumn({ type: 'string', role: 'tooltip' });** 
    data.addColumn('number', 'Id'); 

    for (i = 0; i < Object.keys(dataDB).length; i++) { 
     var year = dataDB[i].Year.toString(); 
     var value = (dataDB[i].Value); 
     var message = "test"; 
     var id = (dataDB[i].Id); 
     data.addRow([year, value, message, id]); 
    } 

    var view = new google.visualization.DataView(data); 
    view.setColumns([0, 1, 
        { 
         calc: "stringify", 
         sourceColumn: 1, 
         type: "string", 
         role: "annotation" 
        }]); 

    var options = { 
     width: 1000, 
     height: 400, 
     focusTarget: 'category', 
     hAxis: { textPosition: 'none' }, 
     legend: { position: 'none' }, 
     chartArea: { left: 50, top: 30, width: "70%", height: "200%" }, 
     bar: { groupWidth: "65%" },    
     tooltip: { isHtml: true }, 

    }; 

    var formatter = new google.visualization.NumberFormat({ decimalSymbol: ',', groupingSymbol: '.', negativeColor: 'red', negativeParens: true, prefix: 'R$ ' }); 
    formatter.format(data, 1); 

    var chart = new google.visualization.BarChart(document.getElementById("divResult")); 
    chart.draw(view, options); 

    google.visualization.events.addListener(chart, 'select', function() { 
     var selection = chart.getSelection(); 
     if (selection.length) { 
      var row = selection[0].row; 
      var _year = data.getValue(row, 0); 
      var _id = data.getValue(row, 3); 
      CallMensal(_id, _year); 
     } 
    }); 

} 

ответ

0

также необходимо добавить столбца свойств

            // col prop 
data.addColumn({ type: 'string', role: 'tooltip', p: {html: true}}); 

EDIT

столбец также должен быть включен в view, который используется для нарисовать диаграмму

i NCLUDE индекс столбца при использовании view.setColumns

var view = new google.visualization.DataView(data); 
view.setColumns([0, 1, 2, { 
    calc: 'stringify', 
    sourceColumn: 1, 
    type: 'string', 
    role: 'annotation' 
}]); 
+0

см [этот недавний ответ] (http://stackoverflow.com/a/40153880/5090771) для рабочих примеров ... – WhiteHat

+0

Тем не менее не работает. К сожалению. –

+0

удаляется путем -> 'view.setColumns' – WhiteHat

Смежные вопросы