Google Charts hAxis:如何在信息框中添加文本?
Google Charts hAxis: How to prepend text in information box?
我希望这不是重复的。当用户点击图表中的点时,如何在信息框中添加 "Days: "?
在数据中使用对象表示法 table,
我们可以同时提供值 (v:
) 和格式化值 (f:
)
每个细胞。
{v: 12, f: 'Days: 12'}
默认情况下,工具提示将显示格式化值。
请参阅以下工作片段...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var chart_data = [
['x', 'Times'],
[0, 0],
[2, 0],
[4, 0],
[6, 0],
[8, 0],
[10, 0],
[{v: 12, f: 'Days: 12'}, 22],
[14, 0],
[16, 0],
];
var data = google.visualization.arrayToDataTable(chart_data);
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, {
height: 400
});
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
编辑
没有任何选项可以更改默认工具提示。
但是我们可以添加自己的自定义工具提示。
首先,我们需要向数据中添加另一列。
在这个例子中。我使用数据视图。
// create view with tooltip column
var view = new google.visualization.DataView(data);
view.setColumns([0, 1, { // <-- add column indexes for original columns
// build custom tooltip column
calc: function (dt, row) {
var tooltip = '<div class="ggl-tooltip">';
tooltip += '<div>' + dt.getColumnLabel(0) + ': ';
tooltip += dt.getFormattedValue(row, 0) + '</div>';
tooltip += '<div>' + dt.getColumnLabel(1) + ': ';
tooltip += dt.getFormattedValue(row, 1) + '</div>';
tooltip += '</div>';
return tooltip;
},
p: {html: true},
role: 'tooltip',
type: 'string'
}]);
我们需要一些东西,
首先,在工具提示列中,我们需要为...指定一个 属性
p: {html: true},
在选项中,我们需要设置...
tooltip: {
isHtml: true
}
请参阅以下工作片段...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var chart_data = [
['Days', 'Times'],
[0, 0],
[2, 0],
[4, 0],
[6, 0],
[8, 0],
[10, 0],
[12, 22],
[14, 0],
[16, 0],
];
var data = google.visualization.arrayToDataTable(chart_data);
// create view with tooltip column
var view = new google.visualization.DataView(data);
view.setColumns([0, 1, { // <-- add column indexes for original columns
// build custom tooltip column
calc: function (dt, row) {
var tooltip = '<div class="ggl-tooltip">';
tooltip += '<div>' + dt.getColumnLabel(0) + ': ';
tooltip += dt.getFormattedValue(row, 0) + '</div>';
tooltip += '<div>' + dt.getColumnLabel(1) + ': ';
tooltip += dt.getFormattedValue(row, 1) + '</div>';
tooltip += '</div>';
return tooltip;
},
p: {html: true},
role: 'tooltip',
type: 'string'
}]);
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(view.toDataTable(), {
height: 400,
tooltip: {
isHtml: true
}
});
});
.ggl-tooltip {
border: 1px solid #E0E0E0;
font-family: Arial, Helvetica;
font-size: 10pt;
padding: 8px 8px 8px 8px;
}
.ggl-tooltip div {
padding: 4px 4px 4px 4px;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
注意:使用具有列属性的数据视图时存在错误。
列属性在绘制时不会显示到图表中。
所以我们必须在绘制之前将视图转换回数据table。
(见上面的片段)
view.toDataTable()
我希望这不是重复的。当用户点击图表中的点时,如何在信息框中添加 "Days: "?
在数据中使用对象表示法 table,
我们可以同时提供值 (v:
) 和格式化值 (f:
)
每个细胞。
{v: 12, f: 'Days: 12'}
默认情况下,工具提示将显示格式化值。
请参阅以下工作片段...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var chart_data = [
['x', 'Times'],
[0, 0],
[2, 0],
[4, 0],
[6, 0],
[8, 0],
[10, 0],
[{v: 12, f: 'Days: 12'}, 22],
[14, 0],
[16, 0],
];
var data = google.visualization.arrayToDataTable(chart_data);
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, {
height: 400
});
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
编辑
没有任何选项可以更改默认工具提示。
但是我们可以添加自己的自定义工具提示。
首先,我们需要向数据中添加另一列。
在这个例子中。我使用数据视图。
// create view with tooltip column
var view = new google.visualization.DataView(data);
view.setColumns([0, 1, { // <-- add column indexes for original columns
// build custom tooltip column
calc: function (dt, row) {
var tooltip = '<div class="ggl-tooltip">';
tooltip += '<div>' + dt.getColumnLabel(0) + ': ';
tooltip += dt.getFormattedValue(row, 0) + '</div>';
tooltip += '<div>' + dt.getColumnLabel(1) + ': ';
tooltip += dt.getFormattedValue(row, 1) + '</div>';
tooltip += '</div>';
return tooltip;
},
p: {html: true},
role: 'tooltip',
type: 'string'
}]);
我们需要一些东西,
首先,在工具提示列中,我们需要为...指定一个 属性
p: {html: true},
在选项中,我们需要设置...
tooltip: {
isHtml: true
}
请参阅以下工作片段...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var chart_data = [
['Days', 'Times'],
[0, 0],
[2, 0],
[4, 0],
[6, 0],
[8, 0],
[10, 0],
[12, 22],
[14, 0],
[16, 0],
];
var data = google.visualization.arrayToDataTable(chart_data);
// create view with tooltip column
var view = new google.visualization.DataView(data);
view.setColumns([0, 1, { // <-- add column indexes for original columns
// build custom tooltip column
calc: function (dt, row) {
var tooltip = '<div class="ggl-tooltip">';
tooltip += '<div>' + dt.getColumnLabel(0) + ': ';
tooltip += dt.getFormattedValue(row, 0) + '</div>';
tooltip += '<div>' + dt.getColumnLabel(1) + ': ';
tooltip += dt.getFormattedValue(row, 1) + '</div>';
tooltip += '</div>';
return tooltip;
},
p: {html: true},
role: 'tooltip',
type: 'string'
}]);
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(view.toDataTable(), {
height: 400,
tooltip: {
isHtml: true
}
});
});
.ggl-tooltip {
border: 1px solid #E0E0E0;
font-family: Arial, Helvetica;
font-size: 10pt;
padding: 8px 8px 8px 8px;
}
.ggl-tooltip div {
padding: 4px 4px 4px 4px;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
注意:使用具有列属性的数据视图时存在错误。
列属性在绘制时不会显示到图表中。
所以我们必须在绘制之前将视图转换回数据table。
(见上面的片段)
view.toDataTable()