Подтвердить что ты не робот

Как настроить всплывающие подсказки (текст и формат) в графических диаграммах Google Vizualization?

Я использую Диалоговую таблицу визуализации Google, и я хотел бы настроить или изменить текст всплывающей подсказки и формат, который появляется при нажатии на панель.

Я прошел через документацию, но не нашел способ реализовать это. Знаете ли вы:

  • Возможно ли это?
  • Если да, не могли бы вы привести примеры кода?
4b9b3361

Ответ 1

Вы можете изменить способ форматирования номера с помощью класса google.visualization.NumberFormat.

var formatter = new google.visualization.NumberFormat({
    fractionDigits: 0,
    prefix: '$'
});

formatter.format(data, 1); // Apply formatter to second column.

Если вам нужна большая гибкость, посмотрите класс PatternFormat.

Здесь ссылка API.

Ответ 2

Создайте новый тип данных для того, что вы хотите в подсказке инструмента:

var data = new google.visualization.DataTable();
data.addColumn('string', 'Game');
data.addColumn('number', 'Transactions');
data.addColumn({type:'string', role:'tooltip'}); // here is the tooltip line

Теперь добавьте информацию, которую вы хотите в свою подсказку, к вашим данным:

['$FormatedWeekday', $SalesAll,'$ToolTip']
['$FormatedWeekday', $SalesAll,'$ToolTip']
['$FormatedWeekday', $SalesAll,'$ToolTip']

Вы потеряете все данные по умолчанию в своем наконечнике, чтобы вы могли его повторно упаковать:

$ToolTip = ''.$FormatedWeekday.' \u000D\u000A '.$SalesAll.' \u000D\u000A '."Red Cross  Event";

"\ u000D\u000A" вызывает разрыв строки

Ответ 3

Я пытался сделать подобное с круговой диаграммой Google. С исходным кодом, при наведении курсора мыши, всплывающая подсказка показывала метку, необработанное число и процент.

Код orignal:

data.setValue(0, 0, 'Рождественские елки');

data.setValue(0, 1, 410000000);

И подсказка будет показывать "Рождественские елки 410000000 4.4%".

Чтобы отформатировать текст, я добавил строку в код, так что это было:

data.setValue(0, 0, 'Рождественские елки');

data.setValue(0, 1, 410000000);

data.setFormattedValue(0, 1, "$ 410 млн." );

В результате появилась подсказка, которая гласила: "Рождественские елки $410 млн. 4,4%"

Надеюсь, это поможет!

Ответ 4

Google Chart не поддерживает формат html tooltip LineChart, BarChart. Я использую:

google.visualization.events.addListener(chart, 'onmouseover', function(rowColumn){
                                myFunction();
                            });

в myFunction(): вы можете использовать popup, чтобы показать дополнительную информацию.

Ответ 5

Существует очень простой способ сделать это, вам просто нужно использовать один из Formatters для данных:

// Set chart options
var options = {
hAxis: {format: 'MMM dd, y'}
};

// Format the data
var formatter = new google.visualization.DateFormat({pattern:'EEEE, MMMM d, y'});
formatter.format(data,0);

// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.AreaChart(document.getElementById('visualization'));
chart.draw(data, options);

Вы просто форматируете ось иначе, чем формат данных, так как формат данных будет отображаться только при нажатии мыши.

Ответ 6

Другой способ сделать это - добавить другой столбец к вашим данным, который будет действовать как подсказка.

function drawVisualization() {
    data = new google.visualization.DataTable()
    data.addColumn('string', 'Date');
    data.addColumn('number');
    data.addColumn({type:'string',role:'tooltip'});
    data.addRow();
    base = 10;
    data.setValue(0, 0, 'Datapoint1');
    data.setValue(0, 1, base++);
    data.setValue(0, 2, " This is my tooltip1 ");

    data.addRow();
    data.setValue(1, 0, 'Datapoint2');
    data.setValue(1, 1, base++);
    data.setValue(1, 2, "This is my second tooltip2");

    // Draw the chart.
    var chart = new google.visualization.BarChart(document.getElementById('visualization'));
    chart.draw(data, {legend:'none', width:600, height:400});
}

Ответ 9

Я тоже искал тот же вариант. Похоже, что нет прямого пути. Но мы можем отключить всплывающую подсказку по умолчанию и вывести нашу собственную версию с помощью SelectHandler. Сообщите нам, если вы выяснили более лучший/прямой способ. Благодаря

Ответ 10

Единственный способ, которым я нашел его отключить, - это пересечь DOM в обработчике hover (для круговых диаграмм):

$(pie.Ac.firstElementChild.contentDocument.childNodes [0].childNodes [2].childNodes [1].firstChild.childNodes [2]) удалить();.

Это отвратительно и зависит от того, поддерживает ли Google существующую структуру... есть лучший способ?

Ответ 11

Взгляните на роли DataTable и пример всплывающей подсказки: https://developers.google.com/chart/interactive/docs/roles

label: 'Year',   'Sales',         null,   'Expenses',         null
`role: domain,     data,       tooltip,         data,      tooltip`
     '2004',       1000,    '1M$ sales,          400,    '$0.4M expenses
                       in 2004'                     in 2004'
     '2005',       1170, '1.17M$ sales,          460,    '$0.46M expenses
                        in 2005'                    in 2005'
     '2006',        660,  '.66M$ sales,         1120,    '$1.12M expenses
                        in 2006'                    in 2006'
     '2007',       1030, '1.03M$ sales,          540,    '$0.54M expenses
                        in 2007'                    in 2007'

Ярлыки null используются в качестве подсказки для "Продажи" и "Расходы" соответственно.