當點擊圖例中的相關鍵時,我希望能夠顯示/隱藏線條圖上的線條,這可能嗎?Google Charts - 點擊圖例中的隱藏線條
4
A
回答
2
要隱藏你的GWT可視化線型圖秀行,請按照下列步驟操作: -
1,創建一個基於現有的DataTable對象的DataView對象:
DataTable dataTable = DataTable.create();
DataView dataView = DataView.create(dataTable);
2.Hide的列
dataView.hideColumns(new int[]{<id_of_the_column>});
3.Draw整個圖表仍然基於數據視圖:要在數據視圖隱藏曲線/線
chart.draw(dataView, getOptions());
請注意,這裏有一個警告,第3步是一個昂貴的步驟,對我們來說,它需要將近20-30秒。用於繪製新圖。但是如果數據不是很大,它應該可以在你的上下文中管理。
注意:您必須使用複選框製作自己的圖例,並在用戶選中/取消選中複選框時執行上述操作。
2
如果您不需要包含縮放和動畫,那麼一個選項就是使用lineWidth和areaOpacity值隱藏數據;
<head>
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script>
function updateTable() {
// quick data - cleaned up for this example real data sources
data = new Array();
data[0] = new Array();
data[0][0] = "Day";
data[0][1] = "Metric 1";
data[0][2] = "Metric 2";
data[0][3] = "Metric 3";
data[1] = new Array();
data[1][0] = 1;
data[1][1] = 200;
data[1][2] = 50;
data[1][3] = 400;
data[2] = new Array();
data[2][0] = 2;
data[2][1] = 440;
data[2][2] = 140;
data[2][3] = 40;
data[3] = new Array();
data[3][0] = 3;
data[3][1] = 300;
data[3][2] = 500;
data[3][3] = 600;
var gdata = google.visualization.arrayToDataTable(data);
var options = {
// title: 'kala',
hAxis: {title: 'Days', titleTextStyle: {color: '#333'}}
,vAxis: {minValue: 0}
,height: 300
,width: 600
,chartArea: {left: 60}
,lineWidth: 2
,series: {0:{color: 'black', areaOpacity: 0.3, lineWidth: 2}
,1:{color: 'red', areaOpacity: 0.3, lineWidth: 2}
,2:{color: 'purple', areaOpacity: 0.3, lineWidth: 2}}
};
var chart = new google.visualization.AreaChart(document.getElementById('my_chart'));
chart.draw(gdata, options);
google.visualization.events.addListener(chart,
'select',
(function (x) { return function() { AreaSelectHander(chart, gdata, options)}})(1));
}
function AreaSelectHander(chart, gdata, options) {
// when ever clicked we enter here
// more code needed to inspect what actually was clicked, now assuming people
// play nicely and click only lables...
var selection = chart.getSelection();
var view = new google.visualization.DataView(gdata);
console.log(options);
// click and data index are one off
i = selection[0].column - 1;
// just simple reverse
if (options.series[i].lineWidth == 0) {
options.series[i].lineWidth = 2;
options.series[i].areaOpacity = 0.3;
}
else {
options.series[i].lineWidth = 0;
options.series[i].areaOpacity = 0.0;
}
chart.draw(gdata, options);
}
</script>
<script type='text/javascript'>
google.load('visualization', '1', {packages:['table', 'corechart']});
google.setOnLoadCallback(updateTable);
</script>
</head>
<body>
<div id='my_chart'></div>
</body>
0
以下代碼顯示護目鏡線圖,並通過點擊圖例標籤上具有功能性隱藏/顯示圖線。 #graph_sales_data是div的id,其中顯示圖表和sales_data_graph是變量包含記錄。
function drawChart() {
if (sales_data_graph.length > 1)
{
$('#graph_sales_data').show();
var data = new google.visualization.arrayToDataTable(sales_data_graph);
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.ChartWrapper({
chartType: 'LineChart',
containerId: 'graph_sales_data',
dataTable: data,
colors: ['#ea6f09', '#fb250d', '#0ac9c6', '#2680be', '#575bee', '#6bd962', '#ff0000', '#000000'],
options: {
width: 1200,
height: 500,
fontSize: 10,
pointSize: 10
}
});
// create columns array
var columns = [0];
/* the series map is an array of data series
* "column" is the index of the data column to use for the series
* "roleColumns" is an array of column indices corresponding to columns with roles that are associated with this data series
* "display" is a boolean, set to true to make the series visible on the initial draw
*/
var seriesMap = [{
column: 1,
roleColumns: [1],
display: true
}, {
column: 2,
roleColumns: [2],
display: true
}, {
column: 3,
roleColumns: [3],
display: true
}, {
column: 4,
roleColumns: [4],
display: true
}, {
column: 5,
roleColumns: [5],
display: true
}, {
column: 6,
roleColumns: [6],
display: true
}, {
column: 7,
roleColumns: [7],
display: true
}, {
column: 8,
roleColumns: [8],
display: true
}];
var columnsMap = {};
var series = [];
for (var i = 0; i < seriesMap.length; i++) {
var col = seriesMap[i].column;
columnsMap[col] = i;
// set the default series option
series[i] = {};
if (seriesMap[i].display) {
// if the column is the domain column or in the default list, display the series
columns.push(col);
}
else {
// otherwise, hide it
columns.push({
label: data.getColumnLabel(col),
type: data.getColumnType(col),
sourceColumn: col,
calc: function() {
return null;
}
});
// backup the default color (if set)
if (typeof(series[i].color) !== 'undefined') {
series[i].backupColor = series[i].color;
}
series[i].color = '#CCCCCC';
}
for (var j = 0; j < seriesMap[i].roleColumns.length; j++) {
//columns.push(seriesMap[i].roleColumns[j]);
}
}
chart.setOption('series', series);
function showHideSeries() {
var sel = chart.getChart().getSelection();
// if selection length is 0, we deselected an element
if (sel.length > 0) {
// if row is undefined, we clicked on the legend
if (sel[0].row == null) {
var col = sel[0].column;
if (typeof(columns[col]) == 'number') {
var src = columns[col];
// hide the data series
columns[col] = {
label: data.getColumnLabel(src),
type: data.getColumnType(src),
sourceColumn: src,
calc: function() {
return null;
}
};
// grey out the legend entry
series[columnsMap[src]].color = '#CCCCCC';
}
else {
var src = columns[col].sourceColumn;
// show the data series
columns[col] = src;
series[columnsMap[src]].color = null;
}
var view = chart.getView() || {};
view.columns = columns;
chart.setView(view);
chart.draw();
}
}
}
google.visualization.events.addListener(chart, 'select', showHideSeries);
// create a view with the default columns
var view = {
columns: columns
};
chart.draw();
}
else
{
$('#graph_sales_data').hide();
}
}
相關問題
- 1. Google Charts - 動態旋轉線條點
- 2. JQPlot隱藏線點擊
- 3. Google Charts API - 儀表板:隱藏表
- 4. 帶有線條的Google Charts API標籤
- 5. 點擊隱藏圖片
- 6. Fusion Charts:如何隱藏餅圖的值
- 7. 在Google Charts上畫一條線ScatterChart
- 8. 隱藏圖例條目plotly圖
- 9. 如何隱藏鋰無線電點擊
- 10. TinyMCE工具欄上的點擊和隱藏點擊隱藏
- 11. 隱藏/點擊Asp.Net
- 12. 點擊隱藏ImageView
- 13. 隱藏點擊後的列表視圖
- 14. 隱藏圖片上的按鈕點擊
- 15. Google Charts圖例標籤被截斷
- 16. Google Charts:條形圖標籤逆轉
- 17. 隱藏元素點擊隱藏元素
- 18. Google圖表隱藏網格零點
- 19. 在身體點擊div隱藏,當我點擊div也隱藏
- 20. 散點圖+線圖在ios-Charts
- 21. 隱藏圖中某些圖形對象的MATLAB圖例條目
- 22. 隱藏Google圖表中的特定圖例
- 23. 隱藏()的點擊按鈕
- 24. d3.js條形圖 - 在圖例點擊上顯示/隱藏條形圖。如何正確過濾?
- 25. 在googleVis Bubble Charts中隱藏標籤
- 26. AngularJS Google Charts - 時間線
- 27. 點擊顯示/隱藏圖像
- 28. 可點擊隱藏按鈕或圖像
- 29. 顯示並隱藏div點擊圖片?
- 30. 通過點擊隱藏圖像查看?