Highcharts能不能x轴固定显示0到2小时的,数据则只显示1个小时的数据?


具体一些就是:x轴的标度是固定从9:00到11:30,无论怎样它都不会变。但是里面的数值是从9点开始,慢慢增加的,增加数据的方法我知道了,但是x轴的刻度总是会根据数据增加而变化...

highcharts jquery highstocks HTML JavaScript

灼眼D夏娜酱 9 years, 6 months ago

你试试这个,我之前项目中用过,具体为什么有点记不得了


 xAxis: {
            type: 'datetime',
            minRange: 5 * 60000
            //minRange: 24 * 3600000
        }

参考这篇 http://www.cnblogs.com/xiami303/p/3445218.html
解释下上的选项, datetime 类型时将时间戳数字解析为时间, minRange 限定了X轴的刻度最小间隔,如果给点了起始点和结束点,那么它中间点就不会被省略(统计概括为几个点),也不会仅仅针对时间刻度有数据点绘图了。
然后就是设置起始点和结束点了,参考这个例子。 http://jsfiddle.net/gh/get/jquery/1.9.1/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/line-time-series/


 series: [{
           // type: 'area',
           //name: 'USD to EUR',
           // pointInterval: 24 * 3600 * 1000,
            pointStart: Date.UTC(2006, 0, 1)
        }
        ...
        ]

这里需要注意的地方,直接使用 datetime 不合适,需要自己设计X轴坐标的 formatter 函数。

设置起始点,

答到这里有点想推翻上面的做法。呸。
不推荐另外一种做法,使用category选项。
据我所知category比较适合于X坐标点于数据一一对应的情况,比如一年中12个月每月的销售额,每月的销售不管是什么总有一个数值的。

Leopard answered 9 years, 6 months ago

Your Answer