[英]In google visualization combo charts how do I remove the left padding without removing the Vaxis labels
我有一個用chartwrapper調用的組合圖表,它將圖表放在指定區域內。 我想將其向左移動,但是當我嘗試
chartArea: {left:0},
Y軸/ V軸網格線上的值將被切除。
有沒有辦法將圖表和所有元素向左移動?
我正在使用Google可視化代碼游樂場,這是我無法正常工作的代碼。 我試圖獲取vAxis的寬度,但它不起作用,但是任何將整個圖表向左移動而不切掉值或將值放在圖表內的方法都很好,
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Month', 'Bolivia', 'Ecuador', 'Madagascar', 'Papua New Guinea', 'Rwanda', 'Average'],
['2004/05', 165, 938, 522, 998, 450, 614.6],
['2005/06', 135, 1120, 599, 1268, 288, 682],
['2006/07', 157, 1167, 587, 807, 397, 623],
['2007/08', 139, 1110, 615, 968, 215, 609.4],
['2008/09', 136, 691, 629, 1026, 366, 569.6]
]);
var wrapper = new google.visualization.ChartWrapper({
chartType: 'ComboChart',
dataTable: data,
options: {
seriesType: "bars",
series: {5: {type: "line"}}
},
containerId: 'visualization'
});
wrapper.draw();
var charm = wrapper.getChart();
var chi=charm.getChartLayoutInterface();
var width=cli.getBoundingBox('vAxis').width;
wrapper.setOption('chartArea.left','width');
wrapper.draw();
}
調試代碼告訴我魅力為空
你近了 您需要將位置設置代碼粘貼到包裝的ready
事件偵聽器中,因為圖表對象似乎是在異步過程中創建的,因此,當您調用wrapper.getChart()
時,尚不能保證該對象已經存在(這是為什么您的調試說的charm
為空)。 另外,您想獲取vAxis#0#label
的邊界框,而不是vAxis
。 固定代碼如下所示:
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Month', 'Bolivia', 'Ecuador', 'Madagascar', 'Papua New Guinea', 'Rwanda', 'Average'],
['2004/05', 165, 938, 522, 998, 450, 614.6],
['2005/06', 135, 1120, 599, 1268, 288, 682],
['2006/07', 157, 1167, 587, 807, 397, 623],
['2007/08', 139, 1110, 615, 968, 215, 609.4],
['2008/09', 136, 691, 629, 1026, 366, 569.6]
]);
var wrapper = new google.visualization.ChartWrapper({
chartType: 'ComboChart',
dataTable: data,
options: {
seriesType: "bars",
series: {5: {type: "line"}}
},
containerId: 'visualization'
});
var runOnce = google.visualization.events.addListener(wrapper, 'ready', function () {
google.visualization.events.removeListener(runOnce);
var charm = wrapper.getChart();
var cli = charm.getChartLayoutInterface();
var width = cli.getBoundingBox('vAxis#0#label').width;
wrapper.setOption('chartArea.left', width);
wrapper.draw();
});
wrapper.draw();
}
在此處查看工作示例: http : //jsfiddle.net/asgallant/KwG5N/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.