ajax读取数据后使用jqchart显示图表的方法

简介: ajax读取数据后使用jqchart显示图表的方法

ajax读取数据后使用jqchart显示图表的方法
image.png
本文实例讲述了ajax读取数据后使用jqchart显示图表的方法。分享给大家供大家参考。具体分析如下:

最近项目中需要显示出图表效果,原来收集到的图表插件终于有用武之地了。

但是和jqchart对比,还是有很多不同之处的。

实现效果:

我就对jqchart进行了重新编写。

首先要解决的是不显示x轴和y轴:

//各DIV作成

// 取消标题显示

/*

this.titleBox//Title

=this.mkBoxElement('T',

this.op.titleLeft,this.op.titleTop

).appendTo(this.jQcanvasBox)

.css('width',this.op.width-this.op.titleLeft)

//fix for safari3 2007.12.4

.get(0);

*/

// 取消y轴数字显示

/*

this.scaleYBox//Y軸スケール

=this.mkBoxElement('Y',

this.op.scaleYLeft,this.op.scaleYTop

).appendTo(this.jQcanvasBox).get(0);

*/

// 取消x轴分类显示

/*

this.scaleXBox//X軸スケール

=this.mkBoxElement('X',

this.op.scaleXLeft,this.op.scaleXTop

).appendTo(this.jQcanvasBox).get(0);

*/

其次,对于拐点的文字,原来显示是相应的data值,现在需要显示的是对应的x轴名称:

if( x <= op.width){

var dx=x-op.paddingL,dy=y-op.paddingT;

var dxx = i<=0 ? (dx+op.labelDataOffsetX - 5 + 'px'):( dx+op.labelDataOffsetX - 20 + 'px'); //坐标点x轴偏移

var dyy = i%2 ? (dy+op.labelDataOffsetY - 25 + 'px'):(dy+op.labelDataOffsetY - 5 + 'px'); //坐标点y轴偏移

it.wrtText(

//dx+op.labelDataOffsetX - 20 + 'px',

dxx,

//dy+op.labelDataOffsetY - 10 + 'px',

dyy,

//op.rows[i], // pre: 坐标点data值

op.txtpointers[i], // cychai:坐标点文字

op,

"#jQchart-data-D-"+op.id

).css('color',(op.data.length==1)?'#333':strokeStyle)

.css({"width":"100px","font-size":"12px"}); // cychttp: //hai:样式控制

使用默认的数据可以显示出来了。接下来就是和开发的协作了。

我希望可以使用ajax异步获取数据,然后在前台显示。

这里,我使用了一个示例页面chartdata.html, 即需要的数据页

[{labelX : ["外观设计","便携性","易用性","电池待机","摄像功能","变焦"],data :[[5,7,2,3,9,4]]}]

在前台,我通过ajax请求该页面,对返回的json数据进行处理,传递给chartSetting:

$(function(){

$.ajax({

url: "chartdata.html",

type: "GET",

success: function(cdata){

showDhttp: //DChart(cdata);

}

});

function showDDChart(cdata){

var dd_chart = eval(cdata)[0];

var chartSetting={

config : {

title : "",

titleLeft: 70,

labelX :dd_chart.labelX,

//labelX :["外观设计","便携性","易用性","电池待机","摄像功能","变焦"],

scaleY : {min: 0,max:10,gap:2},

width: 300+25,

height: 125+50,

paddingL : 10,

paddingT : 10

},

//data: [[5,3,1,8,4,9]]

data :dd_chart.data

};

$('#canvasMyID').jQchart(chartSetting);

}

});

相关文章
|
2月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
70 3
|
3月前
|
前端开发 JavaScript
jQuery - AJAX load() 方法
jQuery load() 方法是简单但强大的 AJAX 方法。
63 6
|
4月前
|
JSON 前端开发 JavaScript
jQuery AJAX 方法
jQuery AJAX 方法
50 1
|
4月前
|
JavaScript 前端开发
jQuery - AJAX load() 方法
jQuery - AJAX load() 方法
28 2
|
4月前
|
XML JavaScript 前端开发
jQuery - AJAX get() 和 post() 方法
jQuery - AJAX get() 和 post() 方法
33 6
|
4月前
|
缓存 JavaScript 前端开发
jQuery - AJAX get() 和 post() 方法
jQuery - AJAX get() 和 post() 方法
33 4
|
3月前
|
Web App开发 前端开发 JavaScript
Python编程—Ajax数据爬取(一)
Python编程—Ajax数据爬取(一)
76 0
|
3月前
|
前端开发 NoSQL MongoDB
Python编程—Ajax数据爬取(二)
Python编程—Ajax数据爬取(二)
125 0
|
4月前
|
JSON 前端开发 JavaScript
jQuery AJAX 方法
jQuery AJAX 方法
32 1
|
4月前
|
JavaScript 前端开发
jQuery - AJAX load() 方法
jQuery - AJAX load() 方法
25 1