highcharts中如何正确显示时间格式的x轴
来源:互联网 发布:苹果安装windows系统 编辑:程序博客网 时间:2024/05/01 21:37
我从后台取到数据,用highchart绘图后,发现y轴的值和提示框tooltip中显示的都是正确的,但x轴的时间没有正确显示,显示的是1970-01-01。
这个问题花了我将近一天的时间,才解决了。
查了很多博客,但是没有具体说到怎么解决,我看到最可靠的回答说是series中data的封装不正确。
series中data封装格式例子:
data:[
[Date.UTC(2010,1,1,10,20),120],
[Date.UTC(2010,1,1,10,20),120],
[Date.UTC(2010,1,1,10,20),120],
....
],
但是我从后台取到的数据是json格式的,在javascript中,data是ajax取到的数据,
一开始的代码是:
for(i=0;i<data.length;i++){
var tm=data[i].tm;
var ydata=data[i].ydata;
alldata.push([tm,ydata]);
}
highcharts中series部分代码:
series:{
data:alldata,
}
后来仔细看了series封装格式,发现要用Date.UTC这个函数,
就改了上面for循环中的代码,
for(i=0;i<data.length;i++){
var tm=data[i].tm;//tm应该是字符串类型
var ydata=data[i].ydata;
var someDate = new Date(Date.parse(tm));//把字符串类型专程Date类型
var tms=Date.UTC(someDate.getFullYear(), someDate.getMonth(), someDate.getDate(), someDate.getHours(),someDate.getMinutes());//进行Date.UTC处理alldata.push([tms,ydata]);
}
经过上述改动后,x轴显示了正确的时间格式。
实例如下:
/*document.write('<meta http-equiv="content-Type" content="text/html;charset=utf-8"/>');*/var jq=jQuery.noConflict();jQuery(document).ready(function() {oneWaterLever();})function mthLever(){var rz=0; //监测值 var min=0; //最小值 var max=0; //最大值 var alldata1=[];//highcharts中series的data值 var skcd="420116000125";var dateBegin=document.getElementById("dateBegin3").value;var dateEnd=document.getElementById("dateEnd3").value;var mthurl="getMthData?skcd="+skcd+"&dateBegin="+dateBegin+"&dateEnd="+dateEnd;jq.ajax({type:"get",url:mthurl, global: false, //Ajax的范围async:false,dataType:"json",success:function(data){//alert(JSON.stringify(data));if(data.name="rzdate"){for(i=0;i<data.rzdate.length;i++){rz=data.rzdate[i].rz;tm=data.rzdate[i].tm;var someDate = new Date(Date.parse(tm));var tms=Date.UTC(someDate.getFullYear(), someDate.getMonth(), someDate.getDate(), someDate.getHours(),someDate.getMinutes());alldata1.push([tms,rz]);}}if(data.name="min"){min=data.min;}if(data.name="max"){max=data.max;}var container="mthproc-container"; //曲线容器var formats='%Y-%m-%d'; var interval=3600*1000;drawHighcharts(container,name,formats,interval,alldata1,min,max);},error:function(err){ // alert(err.toString());$("#nodata").show(); }});function drawHighcharts(container,name,formats,interval,alldata1,min,max){ return new Highcharts.Chart({ chart:{ renderTo:container, type:'spline', reflow:true,}, legend: { align: 'center', backgroundColor: '#FFFFFF', borderColor: '#909090', borderWidth: 1, borderRadius:5, shadow:true, }, credits: { enabled: false // remove high chart logo hyper-link }, title:{text: name+'水位过程线'},tooltip: { useHTML: true,headerFormat: '<table><tr><td style="color:green">时间:{point.key}</td></tr>',pointFormat: '<tr><td><b>水位:{point.y}</b></td></tr>', footerFormat: '</table>',xDateFormat:formats,borderRadius:10,crosshairs: { width: 1, dashStyle: 'solid', } }, plotOptions:{ spline:{ marker:{ enabled:false, }, lineWidth:2,//线条粗细 }, series: { marker: { enabled: false } }, }, xAxis:{ title: { text: '时间', style: { color: '#4572A7' } }, type: 'datetime', minTickInterval: interval,//间隔值 labels: { formatter: function () { return Highcharts.dateFormat(formats,this.value); }, rotation:30,//倾斜30度,防止数量过多显示不全 }, }, yAxis:{ gridLineWidth:1, minorGridLineWidth:1, title:{ text:'水位(米)', style:{ color:'#4572A7' }, }, labels:{ formatter:function(){ return this.value; }, style:{ color:'#4572A7' }, }, min: min, //最小max:max,//最大 }, series:[{ name: '水位', color: '#4572A7', type: 'line', tooltip: { valueSuffix: '米', }, data: alldata1, },//],});}
1 0
- highcharts中如何正确显示时间格式的x轴
- 关于Highcharts的x轴密密麻麻的时间格式显示问题解决方法
- Highcharts中x轴为时间时的设置
- jsp中正确显示时间格式
- Highcharts数据标签中设置时间格式
- 如何设置jfreechart周报曲线图的时间轴显示格式
- Excel中如何正确显示日期和时间
- Highcharts 时间格式说明
- Highcharts 格式化X轴时间轴
- Highcharts从后台返回json正确的格式
- js获取json对象中正确的时间格式
- 显示文本的正确格式
- highcharts中x轴曲线不连续时的解决办法
- highcharts中x轴曲线不连续时的解决办法
- 来格式化时间显示正确的时间
- Java中时间显示格式
- EasyUI的DataGrid日期列(datebox)正确显示json时间格式
- EasyUI的DataGrid日期列(datebox)正确显示json时间格式
- ListView的背景、选中状态、下划线等相关说明
- CodeForces 342B--模拟+贪心
- 160708杂七杂八_static 关键字&memset&valgrind查看内存泄露
- Android 复习笔记5 listView ArrayList
- IIS7.0/IIS7.5 Microsoft.Web.Administration相关操作参数详解
- highcharts中如何正确显示时间格式的x轴
- UVa 1638 Pole Arrangement
- Apache/IIS/Tomcat共存,配置全能服务器
- switch—case break 语句总结
- C/C++面试必备(二)
- HttpClient网络请求
- Layer3 OSPF其他特性和虚链路
- Android Studio每次重启都恢复之前的状态
- iOS - Json解析精度丢失处理(NSString, Double, Float)