【问题标题】:How to display the point value in the line chart stroke of google api chart?如何在google api图表的折线图笔划中显示点值?
【发布时间】:2013-11-23 10:31:48
【问题描述】:

我在 google api 图表中使用折线图。在此图表中,我需要在点上方显示 vaxis 值。但我正在使用注释。它在 haxis 附近创建点值。但我需要在点上方。

实际图表:

预期图表:

    <script type="text/javascript">
                google.load("visualization", "1", {packages: ["corechart"]});
                google.setOnLoadCallback(drawChart);
                function drawChart() {

                    var data = new google.visualization.DataTable();
                    data.addColumn('string', 'Year');
                    data.addColumn('number', 'Sales');
                    data.addColumn({type: 'number', role: 'annotation'});

                    data.addRows([
                        ['2008', 23, 23],
                        ['2009', 145, 145],
                        ['2010', 245, 245],
                        ['2011', 350, 350]
                    ]);                

                    var options = {
                        width: 400,
                        height: 100,
                        pointSize: 4,
                        legend: {position: 'none'},
                        chartArea: {
                            left: 0,
                            top: 10,
                            width: 400,
                            height: 50},
                        vAxis: {
                            baselineColor: '#fff',
                            gridlines: {color: 'transparent'}
                        },
                        tooltip: {trigger: 'none'},
                        annotation: {
                            1: {
                                style: 'none'
                            }
                        }
                    };

                    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
                    chart.draw(data, options);                
                }
            </script>

【问题讨论】:

    标签: javascript google-api google-visualization


    【解决方案1】:

    您只需更正列定义的顺序:

    data.addColumn('string', 'Year');
    data.addColumn('number', 'Sales');
    data.addColumn({type: 'number', role: 'annotation'});
    

    编辑:请参阅 asgallant 对列正确顺序的评论。我下面的文字并不完全正确。

    虽然Google's documentation 不是很清楚,但您应该始终先指定 x 轴,然后指定值,然后将注释之类的东西放在最后。

    【讨论】:

    • 注释不会放在最后,它们会放在它们适用的列之后。如果要在域轴上进行注释,注释列应该是第二个。如果您想要第一个数据系列上的注释,注释列需要立即跟随它。如果您有两个系列的数据,并且想要对第一个进行注释,则注释列必须位于 DataTable 中两个系列的列之间。
    • 我正在使用添加列格式年份、销售额和注释。但图表有四个点。在此图表中,前两个 v 轴值显示在上方点,其余两个 v 轴值显示在该点下方。图表显示了更新的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    相关资源
    最近更新 更多