【问题标题】:google charts vAxis to the right谷歌图表 vAxis 向右
【发布时间】:2013-04-02 21:45:40
【问题描述】:

我正在使用谷歌可视化

var data2 = new google.visualization.DataTable();
        data2.addColumn('string', 'time');
        data2.addColumn('number', 'amount');
        data2.addColumn({ type: 'string', role: 'tooltip' });
        data2.addRows(rows_data);
        var options2 = {
            vAxis: { textPosition: 'none', title: '', textStyle: { fontName: 'arial'} },
            hAxis: { slantedText: false, textStyle: { color: '#E6EFFA' }, gridlines: { color: '#E6EFFA', count: 20} },
            backgroundColor: '#E6EFFA',
            legend: 'none',
            chartArea: { top: 0 },
            colors: ['#435988'],
            chartArea: { width: 800 }
        };
        chart2 = new google.visualization.LineChart(document.getElementById('chart_div_volume'));

我希望 vAxis 位置在右侧。 是否可以 ?

【问题讨论】:

    标签: google-visualization


    【解决方案1】:

    简短回答:是的,但很棘手。

    长答案:

    您需要设置多轴图表。基本上,您创建一个没有标签或任何东西的虚拟轴,使其看起来像一个轴。然后配置辅助轴。您创建一组虚拟值(隐藏)放在第一个轴上,并在第二个轴上绘制真实数据。

    这是一个例子:

    function drawVisualization() {
      // Create and populate the data table.
      var data = google.visualization.arrayToDataTable([
        ['Year', 'Dummy', 'Sales', 'Expenses'],
        ['2004',  0,   1000,      400],
        ['2005',  null,   1170,      460],
        ['2006',  null,   660,       1120],
        ['2007',  null,   1030,      540]
      ]);
    
      var options = {
        title: 'Company Performance',
        series: { 0: {targetAxisIndex: 0, visibleInLegend: false, pointSize: 0, lineWidth: 0},
                  1: {targetAxisIndex: 1},
                  2: {targetAxisIndex: 1}
                 },
        vAxes: {
          0: {textPosition: 'none'},
          1: {},
        }
      };
    
      var chart = new google.visualization.LineChart(document.getElementById('visualization'));
      chart.draw(data, options);
    }
    

    【讨论】:

    • @jmac BarChart 也可以吗?
    【解决方案2】:

       
            google.charts.load('current', { 'packages': ['corechart'] });
            google.charts.setOnLoadCallback(drawVisualization);
    
            function drawVisualization() {
                var data = new google.visualization.DataTable();
                data.addColumn('string', 'Productivity');
                data.addColumn('number', 'Composite');
                data.addColumn({ type: 'number', role: 'annotation' });
                data.addColumn('number', 'Average(N=5)');
                var compositeDataArry = [];
                compositeDataArry.push(["Ravi", 11, 11, 5]);
                compositeDataArry.push(["Wasif", 5, 5, 5]);
                compositeDataArry.push(["Vipin", 2, 2, 5]);
                compositeDataArry.push(["Ankur", 3, 3, 5]);
                compositeDataArry.push(["Pankaj", 1, 1, 5]);
                compositeDataArry.push(["Dheeraj", 4, 4, 5]);
    
                data.addRows(compositeDataArry);
                var options = {
                    title: 'My Chart',
                    titleTextStyle: { color: '#264158', fontSize: 24 },
                    seriesType: 'bars',
                    annotations: {
                        alwaysOutside: true,
                        textStyle: {
                            color: '#000000',
                            fontSize: 15
                        }
                    },
                    hAxis: {
                        slantedText: true,
                        slantedTextAngle: -45
                    },
                    series: {
                        0: { targetAxisIndex: 0, },
                        1: { targetAxisIndex: 1, type: 'line' }
                    },
                    vAxes: {
                        0: { textPosition: 'none' },
                        1: {}
                    }             
                };
                var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
                chart.draw(data, options);
               
            }
     
    <html>
    <head>
        <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    
    
    </head>
    <body>
        <div id="chart_div" style="height: 500px; width: 100%"></div>
    
    </body>
    </html>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多