27

任何人都知道如何使用谷歌图表 API 使 x 轴标签垂直?

我需要在一个小图表中放置很多标签。

谢谢

4

9 回答 9

98

添加带有 slantedtextangle:90 度的参数选项以垂直显示标签

var options ={ hAxis: {title: "Years" , direction:-1, slantedText:true, slantedTextAngle:90 }}
于 2014-01-29T05:40:43.263 回答
18

这是一个旧线程。但我自己正在寻找这个并遇到了这个......

https://developers.google.com/chart/interactive/docs/gallery/areachart#Configuration_Options

查找:hAxis.slantedTextAngle 和 hAxis.slantedText。将您的角度设置为 90 以进行垂直显示(或任何介于两者之间的倾斜显示)。

于 2012-11-27T22:29:04.597 回答
16

现在是可能的

var options = {
  title: "Test",
   hAxis: {
        direction:-1,
        slantedText:true,
        slantedTextAngle:90 // here you can even use 180
    }
};
于 2013-12-17T12:46:26.120 回答
16

对角线文本在这里。这是我的做法,希望对他们有所帮助。

https://jsfiddle.net/8tvm9qk5/

编码:

  <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
  <div id="chart_div"></div>

google.charts.load('current', {packages: ['corechart', 'bar']});
google.charts.setOnLoadCallback(drawStacked);

function drawStacked() {
      var data = new google.visualization.DataTable();
      data.addColumn('string', 'Departamentos');
      data.addColumn('number', 'Entregados');
      data.addColumn('number', 'En Stock');

      data.addRows([
        ['abdasdasa', 925, 786],
        ['bbdasdas', 652, 156],
        ['cbdasdas', 300, 200],
        ['ddasdasb', 925, 786],
        ['edasdb', 652, 156],
        ['fasdasb', 300, 200],
        ['gdasdasdb', 925, 786],
        ['abdasdasa', 925, 786],
        ['bbdasdas', 652, 156],
        ['cbdasdas', 300, 200],
        ['ddasdasb', 925, 786],
        ['edasdb', 652, 156],
        ['fasdasb', 300, 200],
        ['gdasdasdb', 925, 786]


      ]);

      var options = {
        title: 'Motivation and Energy Level Throughout the Day',
        isStacked: true,
        height:600,
        chartArea: {
            height:300,
          top:100,
        },
        hAxis: {
          title: 'Departamentos',
          titleTextStyle: {
            color: '#FF0000',            
          },

          slantedText:true,
          slantedTextAngle:45,

        },
        vAxis: {
          title: 'Kits'
        }
      };

      var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
      chart.draw(data, options);
    }
于 2016-04-22T22:01:25.540 回答
12

您可以“解决”此问题的另一种可能方法是添加 x 轴:

chxt=x,y

可以改为:

chxt=x,y,x

(确保您对原始 x 轴所做的任何事情都应用了相同的应用)然后在一个轴上每隔一个设置标签,并在另一个 x 轴上每隔一个偏移设置一个(或每隔三分之一,具体取决于标签的长度)。

chx1=0:|Alpha||Gamma||Epsilon||Eta|2:||Beta||Delta||Zeta

注意这两个 || 之间的空标签。这样,在您的图表上,标签会关闭轴,并且您有更多空间:

Alpha    Gamma    Epsilon    Eta
    Beta      Delta      Zeta
于 2011-04-05T20:19:00.350 回答
3

我还没有找到旋转轴的方法,但是,我所做的是缩短标签,然后创建一个图例来解释标签实际代表的内容。

单击此处获取示例 Google 图表。

于 2010-12-01T06:03:48.670 回答
3

是的!

将 hAxis.slantedText 设置为 true,然后设置 hAxis.slantedTextAngle=90。像这样...

var ac = new google.visualization.ComboChart(document.getElementById('visualization'));
    ac.draw(data, {
      title : 'Equipment Performance Chart',
      isStacked:true,
      vAxis: {
        viewWindowMode: 'explicit',
        viewWindow: {
            max: 100
            },
        title: "Percentage"
        },
      hAxis: {
        title: "Area",
        slantedText:true,
        slantedTextAngle:90
        },
      seriesType: "bars",

    });
于 2014-05-22T18:44:32.393 回答
2

诀窍在于 chartArea.height = 300 和 chartArea.top = 100, height:600

var options = {
    title: 'Motivation and Energy Level Throughout the Day',
    isStacked: true,
    height:600,
    chartArea: {
        height:300,
        top:100,
    },
    hAxis: {
      title: 'Departamentos',
      titleTextStyle: {
        color: '#FF0000',            
      },

      slantedText:true,
      slantedTextAngle:45,

    },
    vAxis: {
      title: 'Kits'
    }
  };
于 2016-04-22T21:58:04.527 回答
1

API 无论如何都没有提供获取垂直 x 轴标签(除非我错过了它,因为我也需要它)我们所做的是数据点标签和常规 x 轴标签的组合 - 不完美但有效

如果您需要更多控制权,可以尝试类似 Dundas 图表

于 2009-04-24T17:14:44.660 回答