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();
}
请参见此处的工作示例: