Javascript 在google visualization组合图中,如何在不删除Vaxis标签的情况下删除左侧填充
我用图表包装器调用了一个组合图表,它将图表集中在给定的区域。我想把它移到左边,但是当我尝试的时候Javascript 在google visualization组合图中,如何在不删除Vaxis标签的情况下删除左侧填充,javascript,charts,google-visualization,Javascript,Charts,Google Visualization,我用图表包装器调用了一个组合图表,它将图表集中在给定的区域。我想把它移到左边,但是当我尝试的时候 chartArea: {left:0}, Y轴/V轴网格线上的值被截断 有没有办法将图表和所有元素向左移动 我正在使用谷歌可视化代码游乐场,这是我不工作的代码。我试图得到vAxis的宽度,但它不起作用,但任何方法都可以将整个图表向左移动,不切断数值或将数值放入图表中,这将是非常好的 function drawVisualization() { var data = google.visualiza
chartArea: {left:0},
Y轴/V轴网格线上的值被截断
有没有办法将图表和所有元素向左移动
我正在使用谷歌可视化代码游乐场,这是我不工作的代码。我试图得到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();
}
调试代码告诉我charm为null您很接近了。您需要将位置设置代码粘贴到包装器的就绪事件侦听器中,因为图表对象似乎是在异步进程中创建的,因此在调用wrapper.getChart时,它还不能保证存在。这就是调试说charm为null的原因。另外,您希望获得vAxis0label的边界框,而不是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();
}
请参见此处的工作示例: