【问题标题】:Google Charts, Setting gridlines count of barchart谷歌图表,设置条形图的网格线数
【发布时间】:2016-01-12 13:04:31
【问题描述】:

目前我正在使用 Google Charts API 来生成一些图表。要显示正确的图像,我应该更改标有绿色网格线的 X 轴(值)的网格线步长。

当前图表


(来源:jordysipkema.nl

预期图表


(来源:jordysipkema.nl

(通过调整浏览器大小制作的预期图表)

设置数据

var data = new google.visualization.DataTable();
data.addColumn('string', 'Labels');
data.addColumn('number', 'Result value');
data.addRows([
    ["Label 1", 8.098205131],
    ["Label 2", 10.08567831],
    ["Label 3", 10.790166352],
    ["Label 4", 9.148802676],
    ["Label 5", 8.571340962]
]);

定义图表选项

var options = {        
    title: 'Title - Value Bar Chart',
    subtitle: 'Uses: label and a value',
    legend: {
        position: 'none'
    },
    height: chartHeight,
    bars: 'horizontal', // Required for Material Bar Charts.
    hAxis: {
        format: '#.###',
        gridlines: {
            color: '#00ff00' //Green lines for debugging purposes 
            // count: 4
        },
        ticks: [8, 9, 10, 11],
        viewWindow: {
            min: Math.floor(columnRange.min),
            max: Math.ceil(columnRange.max)
        }
    },
    vAxis: {
        gridlines: {
        color: '#ff0000', //Red lines
            count: 1
        }
    }
};

我已经阅读了 options 数组中的 hAxis.gridlines.count 参数。不幸的是,这不会改变图表的任何内容。在这个给定的情况下,值范围从 8 到 11,我希望有 4 条网格线(设置为 8、9、10 和 11)。

我尝试过的另一种方法是将hAxis.ticks 参数设置为[8, 9, 10, 11]。这也不会影响图表。

一个有效的 JSFiddle 示例来演示正在发生的事情: JSFiddle of the code

任何帮助将不胜感激

【问题讨论】:

    标签: javascript charts google-visualization bar-chart


    【解决方案1】:

    我设法获得预期结果的唯一方法是将宽度限制为 600 像素:

    var options = {
        title: 'Title - Value Bar Chart',
        subtitle: 'Uses: label and a value',
        legend: {
            position: 'none'
        },
        width: 600,
        height: chartHeight,
        bars: 'horizontal', // Required for Material Bar Charts.
        hAxis: {
            format: '#.###',
            gridlines: {
                color: '#00ff00' //Green lines for debugging purposes
            },
            viewWindow: {
                min: Math.floor(columnRange.min),
                max: Math.ceil(columnRange.max)
            }
        },
        vAxis: {
            gridlines: {
                color: '#ff0000', //Red lines
                count: 1
            }
        }
    };
    

    https://jsfiddle.net/qLpwrtmw/

    【讨论】:

    • 嗯,这很糟糕。无论如何,感谢您的回答。无论如何,我决定选择另一个图形库。在图形库中缺少这样的核心功能非常烦人。
    • 这似乎不再起作用了。公平地说,那里有更好的图表库,但我在这个项目中使用谷歌图表时遇到了困难:(
    • .. 对于任何阅读本文的人,我很幸运能从材料图表迁移到旧的柱形图:developers.google.com/chart/interactive/docs/gallery/… .. 似乎 vAxis/hAxis 在那里工作
    猜你喜欢
    • 2011-10-05
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    相关资源
    最近更新 更多