Как настроить всплывающие подсказки (текст и формат) в графических диаграммах Google Vizualization?
Я использую Диалоговую таблицу визуализации Google, и я хотел бы настроить или изменить текст всплывающей подсказки и формат, который появляется при нажатии на панель.
Я прошел через документацию, но не нашел способ реализовать
это. Знаете ли вы:
- Возможно ли это?
- Если да, не могли бы вы привести примеры кода?
Ответы
Ответ 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});
}
Ответ 7
FYI, Все:
Google добавил пользовательские подсказки HTML/CSS в сентябре 2012 года:
https://google-developers.appspot.com/chart/interactive/docs/customizing_tooltip_content
Ответ 8
Похоже, теперь вы можете настроить текст всплывающей подсказки, добавив специальный столбец с role: 'tooltip'
: https://developers.google.com/chart/interactive/docs/customizing_tooltip_content
Ответ 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 используются в качестве подсказки для "Продажи" и "Расходы" соответственно.