如何使Axis和Axis数以整数形式出现

时间:2014-06-27 05:13:24

标签: javascript php google-visualization

这是我的代码:

 var rawdata='".$performances."';
            var mydata=jQuery.parseJSON(rawdata);
            if(mydata){
                var realData=[];
                realData=[
                      ['Activities', 'Performance'],
                    ];

            for (x in mydata)
            {
                var a=parseFloat(mydata[x]['activities']);
                var b=parseFloat(mydata[x]['performance']);
                realData[x]=[a,b];
            }
            var data = google.visualization.arrayToDataTable(realData);
            var options = {
              title: 'Overall Performance',
              legend: { position: 'top', maxLines: 3 },
              hAxis: {title: 'Activities'},
              vAxis: {title: 'Performance'} 
            };

            var chart = new google.visualization.LineChart(document.getElementById('chart_div_line'));
            chart.draw(data, options);

输出是:

enter image description here

我想将当前的x轴值更改为整数:1,2,3,4,....,我该怎么办?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以采取几种不同的方法来解决此问题。第一种是设置轴范围和网格线计数,以便图表默认显示整数值,例如:

vAxis: {
    viewWindow: {
        min: 0,
        max: 2
    },
    gridlines: {
        count: 3
    }
}

通常,如果minmax是整数且(max - min) / (count - 1)是整数,则网格线(以及轴标签)将落在整数值上。当您知道图表的有效值范围时,此方法最适合y轴;您也可以将它用于x轴,但我不经常使用它。

另一种方法是使用h/vAxis.ticks选项指定网格线和标签的位置。 ticks选项采用一组值或对象。值指定网格线的位置。对象具有vf属性; v属性指定网格线的位置,f属性指定要使用的标签。任何没有指定f属性的值或对象都将根据轴format选项生成轴标签。

hAxis: {
    ticks: [1, 2, 3, 4]
}

或:

hAxis: {
    ticks: [{v: 1, f: 'one'}, {v: 2, f: 'two'}, {v: 3, f: 'three'}, {v: 4, f: 'four'}]
}

您可以根据需要混合和匹配数组中的对象和值。这种方法同样适用于x轴和y轴。

您可以采用一种方法使用一个轴,另一种方法采用另一种轴,但如果将它们混合在同一轴上,请注意ticks选项会覆盖gridlines.count,如果您在viewWindow设置范围之外放置一个刻度线,您将看不到它。

答案 1 :(得分:0)

尝试:

var a=parseFloat(mydata[x]['activities'].toFixed());
var b=parseFloat(mydata[x]['performance'].toFixed());

toFixed()会将您的号码转换为字符串;您正在使用parseFloat(),因此字符串将转换回数字。