zoukankan      html  css  js  c++  java
  • jqPlot——基于jquery的图表绘制工具简单使用,jqPlot 在firefox 火狐浏览器里面,图表右侧的标题,变形的解决方法

    image

    目前实现的功能和未实现需要深入研究的有

    1:同时至少N条线的绘制和不同颜色的演示(N至少大于8不会有任何问题,问题是太多了之后,颜色难以区分,而且如果有些点重合的话,也不方便看)

    2:X轴显示日期,Y轴显示点击量,图表的右侧显示哪几条线的颜色(实例里面可以点击最右边的颜色,来动态的隐藏坐标图里面的线,但是我没有测试出来

    3:X轴,如果是时间的话,能用天数,月数,年数来间隔显示每一个点,问题是,到底用多大来间隔,我现在是定死的,例如我定死为2天,但是实际情况中,需要调整为动态,或者是说应该能根据什么数据来动态的调整间隔

    4:当框中几个点或者是区域之后,可以放大显示,双击还原。问题是放大之后,X轴上面因为日期太密显得很难看

    image

    5:前台部分代码,jqPlot 在firefox 火狐浏览器里面,图标右侧的标题,会变形,解决方法是在控制 标题的 lable的子元素里面,手动加一个div包括起来,定义一个css

    series: [{ label: '<div class=adCountTitle><div style=float:right>&nbsp;&nbsp;(点击量:3)</div>即将上线</div>' },
             { label: '<div class=adCountTitle><div style=float:right>&nbsp;&nbsp;(点击量:1)</div>这是一个演示</div>' 
            }], //右侧的每个广告的title  
       
    
    .adCountTitle{ width:200px;}
    

    ======================生成的前台html代码 ================================================

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script   type="text/javascript" src="../Scripts/jquery-1.4.4.min.js"></script>
        <link class="include" rel="stylesheet" type="text/css" href="../Scripts/plugins/jqPlot/jquery.jqplot.min.css" />
    <!--[if lt IE 9]>
         <script src="../Scripts/plugins/jqPlot/excanvas.js"></script>
         <![endif]-->
        <!--重要的开始-->
        <script type="text/javascript" src="../Scripts/plugins/jqPlot/jquery.jqplot.min.js"></script>
    
        <script type="text/javascript">
    
    $(document).ready(function(){
    
    
    
    var line0 = [['2012-10-14', 0],['2012-10-15', 3],['2012-10-20', 0]];
    var line1 = [['2012-10-14', 0],['2012-10-15', 1],['2012-10-20', 0]];
    
    $('#chart1').jqplot([line0,line1],{
    
    series: [{ label: '<div class=adCountTitle><div style=float:right>&nbsp;&nbsp;(点击量:3)</div>即将上线</div>' },
             { label: '<div class=adCountTitle><div style=float:right>&nbsp;&nbsp;(点击量:1)</div>这是一个演示</div>' 
            }], //右侧的每个广告的title     
    
               seriesColors: ["#4bb2c5", "#c5b47f", "#EAA228","#953579", "#4b5de4",  "#ff5800"],  // 默认显示的分类颜色,  
    
          title:'<strong>本周统计</strong>',
    
          axes:{
    
              xaxis: {  //横坐标 x轴
    
                  label: "时间刻度:年-月-日",
    
                  labelOptions: {
    
                      fontFamily: '黑体',
    
                      textColor: "pink",
    
                      fontSize: '11pt'
    
                  },
    
              renderer:$.jqplot.DateAxisRenderer,
    
              tickOptions:{
    
                  formatString: '%Y-%m-%d'
    
              } ,
    
              min: '2012-10-13', max: '2012-10-21', tickInterval: '1 day'  //开始,结束,间隔时间(可以是年,月,日)
    
          },
    
    
    
          yaxis: {
    
              label: "点击次数",
    
              labelOptions: {
    
                  fontFamily: '黑体',
    
                  textColor: "green",
    
                  fontSize: '11pt'
    
              },
    
              tickOptions:{
    
                  formatString: '%.1i'        // %百分号就表示值  .2f 表示float类型?小数点后2位?
    
              }
    
            }
    
      },
    
            
    
          highlighter: {  //荧光笔 高亮笔
    
            show: true,
    
            sizeAdjust: 20,        //尺寸调整
    
            fadeTooltip: true,
    
            formatString: '<table bgcolor="#f2f2f2"> \
    
                    <tr><td>时间:</td><td>%s</td></tr> \
    
                    <tr><td>点击量:</td><td>%s</td></tr> \
    
                </table>'       //这里的%s是按照 数组里面的顺序来显示的
    
        },
    
          legend: {  
    
            show: true,//设置是否出现分类名称框(即所有分类的名称出现在图的某个位置)  
    
            location: 'ne',     // 分类名称框出现位置, nw, n, ne, e, se, s, sw, w.  
    
     
    
            background:'blue',        //分类名称框距图表区域背景色  
    
            textColor:'red' ,        //分类名称框距图表区域内字体颜色  
    
            placement: 'outside'
    
        },
    
         cursor: {            
    
         show: true,            
    
         zoom: true,            
    
         looseZoom: true,            
    
         showTooltip: false },
    
      });
    
      
    
    });
    
        </script>
    
    </head>
    <body>
    <div id="chart1" style="height:400px; width:900px; margin-left:60px;"></div>
    <!--鼠标放上去 显示圆圈以及注释-->
    
        <script  language="javascript" type="text/javascript" src="../Scripts/plugins/jqPlot/jqplot.highlighter.min.js"></script>
    
        <!--缩放的-->
    
        <script   language="javascript" type="text/javascript" src="../Scripts/plugins/jqPlot/jqplot.cursor.min.js"></script>
    
        <!--主要用来显示数据的渲染器-->
    
        <script   language="javascript" type="text/javascript" src="../Scripts/plugins/jqPlot/jqplot.dateAxisRenderer.min.js"></script>
    
        <!--结束-->
    
    </body>
    </html>
    
    

    image

  • 相关阅读:
    Ghost Button制作教程及设计趋势分析
    onhashchange事件--司徒正美
    window.location.hash属性介绍
    优质UI的7条准则(一)
    当在浏览器地址栏输入一个网址的时候,究竟发生了什么?
    全球最快的JS模板引擎
    眨眼登录表单
    DIV+CSS规范命名
    es6--export,import
    es6--class
  • 原文地址:https://www.cnblogs.com/joeylee/p/2707353.html
Copyright © 2011-2022 走看看