$(function(){ var flow=[]; var tipLabel=new Array("PV","UV","Impression","Click","Income"); var pv=tipLabel[0]; $.ajax({ type : 'post', url : '/ssp_operator/main/dashboard/list', async : false, cache : false, dataType : 'json', success : function(data){ var pvArray = []; var uvArray = []; var impressionArray = []; var clickArray = []; var incomeArray = []; $.each(data,function(n,value) { pvArray[n] = value.pv; uvArray[n] = value.uv; impressionArray[n] = value.impression; clickArray[n] = value.click; incomeArray[n] = value.income; }); flow[0] = pvArray; flow[1] = uvArray; flow[2] = impressionArray; flow[3] = clickArray; flow[4] = incomeArray; }, error : function (XMLHttpRequest, textStatus, errorThrown) { // 通常 textStatus 和 errorThrown 之中 // 只有一个会包含信息 alert('error'); this; // 调用本次AJAX请求时传递的options参数 } }); var data = [ { name : 'PV', value:flow[0], color:'#68ba31', line_width:2 } ]; drawDiagram(data,pv); $('#data_number td').click(function(){ $('#data_number td').css({"background-color":"#ffffff","color":"black"}); $(this).css({"background-color":"#344c67","color":"#ffffff"}); var n = $(this).index(); pv=tipLabel[n]; var data = [ { name : 'UV', value:flow[n], color:'#68ba31', line_width:2 } ]; $('#baseTitle').text('近7天全部广告位' + pv); drawDiagram(data,pv); }); }); function drawDiagram(data,pv){ //设置日期,当前日期的前七天 var myDate = new Date(); //获取今天日期 var myYear = myDate.getFullYear();//获取年份 myDate.setDate(myDate.getDate() - 7); var labels = []; var dateTemp; var flag = 1; for (var i = 0; i < 7; i++) { dateTemp = myDate.getFullYear() + "/" + (myDate.getMonth() + 1) + "/" + myDate.getDate(); labels.push(dateTemp); myDate.setDate(myDate.getDate() + flag); } var verticalLine = 6;//图表垂直线的数量 var chart = new iChart.LineBasic2D({ background_color:'#ffffff',//组件中背景颜色(填充色)的值。(默认为'FEFEFE') border:{ //Object, 此处设置了开启边框配置项。 enable:false,//无边框 width:1, color:'red' }, color :'#adadad',//String 组件中字体颜色的值。(默认为'black') data : data,//Array 必需属性,图表的数据源。 width : 1289,//Number 图表的宽度,单位px。 height : 330,//图表的高度,单位px。 //id : 'canvas'// String 组件的唯一id。(默认自动分配一个字符串). //padding : '0 0 10 10',// Number 组件中内边框的值,规则与css中的一致,单位像素。(默认为10) render : 'diagram',//String 图表渲染的HTML DOM的id。(默认为''). //title:{ //Object/String 标题的配置项,若给出字符串,则用默认配置进行渲染标题,若给出对象,则配置为 iChart.Text对象。如果text属性为空则不显示标题。 //text:'近7天全部广告位PV', //offsety:100 //}, //z_index Number 设置绘图区的组件的显示层级为999,使其在最上层显示。 //提示框的配置项.详情请参考 iChart.Tip Note:设置为false表示禁用提示框。(默认为false) tip:{ //Object 提示框的配置项.详情请参考 iChart.Tip Note:设置为false表示禁用提示框。(默认为false) enable:true, border:{ enable:true, radius : 5, width:2, color:'#344c68' }, style:"background-color:#344c68;color:#ffffff;text-align:center;",//String 指定此dom的css值。 //text String 提示框中的文本值。(默认为'') listeners:{ //tip:提示框对象、name:数据名称、value:数据值、text:当前文本、i:数据点的索引 parseText:function(tip,name,value,text,i){ return ""+labels[i]+""+ "
"+ pv +":"+value+""; } } }, //配置十字线 crosshair:{ //Object 十字线的配置(默认的enable为false).请参考iChart.CrossHair //说明: //1.此配置有一个额外的属性enable表示是否开去十字线(默认为false) //2.此配置会自动覆盖coordinate中的crosshair配置。配置十字线应该用此配置。 enable:true, line_color:'#0072c6', //border Object 此组件中边框的属性样式。 //此属性是一个对象,可用的属性如下: //@Option enable {boolean} 是否边框可用。(默认为false) //@Option color {String} 边框的颜色。(默认为'#BCBCBC') //@Option width {Number/String} 边框的宽度,单位px。如果为字符串,其宽度值解析方式与css的padding一致。且radius将会设置为0。(默认为1) //@Option radius {Number/String} 边框的圆角值.如果给出字符串,解析方式与css的padding一致。(默认为0) //line_width Number 十字线的宽度。单位px。(默认为1) //style String 组件的自定义css。(默认为 '') 类似:'padding:10px;font-size:12px' }, sub_option : { //图中折线段的配置项。 label:false, hollow:true, hollow_color:'#ffffff', hollow_inside:true, intersection:true, sign:'round', point_size:12, }, coordinate:{ //Object 坐标系的配置项。请参考iChart.Coordinate2D border:false, width:"95%", height:"90%", grid_color:'#adadad',//String 网格的颜色值。(默认为'#dbe1e1') //grid_line_width Number 网格的宽度值。(默认为1) axis:{ //坐标轴轴线的配置项。可配置属性值:@Option enable {Boolean} 是否启用轴配置(默认为 true) color:'#adadad', //@Option color {String} 轴的颜色.(默认为 '#666666') width:[0,0,1,1] //@Option width {Number/Array} 轴的宽度, 如果给出数组,则为四个边的宽度,例如:[1,0,0,1](上-右-下-左).(默认为1) }, grids:{ //配置自定义网格线。提供水平和垂直网格的配置。水平方向由horizontal指定,垂直方向由vertical指定。 vertical:{ way:'share_alike',//网格生成方式 value:verticalLine,//指定网格的数量(线条数-1)。 } }, scale:[{ position:'left', textAlign:'center', //end_scale:100,//Number 结束刻度值。这个值若没有给定,则用max_scale作为结束的刻度值。(默认为undefined) //scale_space:20,//刻度值的间距值,要小于(最大值-最小值)。(默认为undefined) scale_enable:false, label : {color:'#344c67',fontsize:11},//标签的配置项。 },{ position:'bottom', textAlign:'center', scale_enable:false,//是否显示刻度线。(默认为true) label : {color:'#344c67',fontsize:11}, labels:labels,//Array 自定义的标签文本。(默认为空数组) }] } }) //利用自定义组件构造左侧说明文本 /*chart.plugin(new iChart.Custom({ drawFn:function(){ //计算位置 var coo = chart.getCoordinate(), x = coo.get('originx'), y = coo.get('originy'), w = coo.width, h = coo.height; //在左上侧的位置,渲染一个单位的文字 chart.target.textAlign('start') .textBaseline('top') .textFont('#adadad') .fillText(myYear,x-12,y+h+20,false,'#9d987a') .textBaseline('top') .fillText(myYear,x+w-12,y+h+20,false,'#9d987a'); } }));*/ //开始画图 chart.draw(); }