【问题标题】:Google Visualization ControlWrapper height谷歌可视化 ControlWrapper 高度
【发布时间】:2026-01-14 06:45:02
【问题描述】:

我正在使用 Google Visualization 绘制两个图表,一个包含中心信息,另一个用作概览。 ControlWrapper 用于控制主图表中的范围。

function renderChart(data) {

    data = _data_as_array(data['history']);
    data = google.visualization.arrayToDataTable(
        $.merge([['Date', 'Infected', '1st Degree', '2nd Degree']], data),
    );

    var options = {
        hAxis: {textPosition: 'none', gridlines: { color: 'transparent' }, baselineColor: 'transparent'},
        vAxis: {textPosition: 'none', gridlines: { color: 'transparent' }, baselineColor: 'transparent'},
        legend: {position: 'none'},
        backgroundColor: 'transparent',
        series: {
            0: { color: '#6958E5' },
            1: { color: '#747171' },
            2: { color: '#EF8131' }
        },
    };

    var chart = new google.visualization.ChartWrapper({
        chartType: 'AreaChart',
        containerId: 'covidoff-chart',
        options: $.extend({
            chartArea: {
                width: '98%',
                height: '100%'
            }
        }, options)
    });

    var control = new google.visualization.ControlWrapper({
        controlType: 'ChartRangeFilter',
        containerId: 'covidoff-chart-control',
        dataTable: data,
        options: {
            filterColumnIndex: 0, // filter on dates
            ui: {
                chartOptions: {
                    chartArea: {
                        width: '98%',
                        height: '20'
                    }
                },
            },
        },
    });

    var dashboard = new google.visualization.Dashboard(document.getElementById('covidoff-chart-container'));
    dashboard.bind([control], [chart]);
    dashboard.draw(data);
}

这是相关的 HTML:

<div id="covidoff-chart-container" class="d-none">
    <div id="covidoff-chart"></div>
    <div id="covidoff-chart-control"></div>
    <div>a</div>
</div>

您可以在上图中看到控件下方有一个巨大的空白。该空间将是控件的默认高度,设置 options.ui.chartOptions.chartArea.height 似乎会缩小图表但不会缩小区域。

检查 HTML,我看到该工具正在内联注入这种样式,并将其高度设置为 200px

我认为使用 CSS 来改变这一点是合理的,但由于我不是管理元素的人,我也认为它会破坏某些东西,或者并不总是有效。

正确设置高度的正确方法是什么?

【问题讨论】:

  • 成功了,谢谢!
  • 想要将其添加为答案?

标签: charts google-visualization


【解决方案1】:

chartArea 用于绘制区域线的内部,
对于整体高度,使用 --> options.ui.chartOptions.height

【讨论】: