使用jquery图表插件jqplot之折线图

首先一个简单的折线图:

直接上代码:

 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="js/jquery.min.js"></script><!-- 这是必要的js库,最好顺序不要错,不然要报错-->
<script type="text/javascript" src="js/jquery.jqplot.min.js"></script>
<script type="text/javascript" src="js/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="js/jqplot.canvasAxisLabelRenderer.min.js"></script>
<script type="text/javascript" src="js/jqplot.canvasAxisTickRenderer.min.js"></script>
<script type="text/javascript" src="js/demo.js"></script>


<link href="css/jquery.jqplot.css" rel="stylesheet">
<title>chart</title>
</head>
<body>
    <div class="container" align="center">
        
<div id="chart1" style="height: 270px; width: 830px;"></div>
        
    </div>
</body>
</html>


demo.js:

$(document).ready(function(){

var data=[[3,7,9,1,4,6,8,2,5]];//这里是折线点的数据,格式[x,y],这里只写了一组数据,默认为y轴上的数据,而x上的数据默认为:1,2,3,4;
  var plot1 = $.jqplot ('chart1',data);//第一个参数为显示图表容器ID
});


就这样一个简单的图表就完成了。

我们还可以给它加些东西,比如这样:

代码如下:

$(document).ready(function(){
  var plot2 = $.jqplot ('chart1', [[3,7,9,1,4,6,8,2,5]], {
      // 给图表设置标题
      title: 'Plot With Options',
     
      // 设置坐标系一些属性
      axesDefaults: {
       //给坐标系的一些标签添加渲染效果
        labelRenderer: $.jqplot.CanvasAxisLabelRenderer
      },
     
      // 设置坐标系样式
      axes: {
       
        xaxis: {
          label: "X Axis",//给X轴添加标题
        },
        yaxis: {
          label: "Y Axis"
        }
      }
    });
});
还可以变成这样:

代码如下:

$(document).ready(function(){
  // 初始化数据
  var cosPoints = [];
  for (var i=0; i<2*Math.PI; i+=0.4){
    cosPoints.push([i, Math.cos(i)]);
  }
    
  var sinPoints = [];
  for (var i=0; i<2*Math.PI; i+=0.4){
     sinPoints.push([i, 2*Math.sin(i-.8)]);
  }
    
  var powPoints1 = [];
  for (var i=0; i<2*Math.PI; i+=0.4) {
      powPoints1.push([i, 2.5 + Math.pow(i/4, 2)]);
  }
    
  var powPoints2 = [];
  for (var i=0; i<2*Math.PI; i+=0.4) {
      powPoints2.push([i, -2.5 - Math.pow(i/4, 2)]);
  }
  var plot3 = $.jqplot('chart1', [cosPoints, sinPoints, powPoints1, powPoints2],
    {
      title:'Line Style Options',
     
      // 设置线条的样式
      series:[
          {
            // 设置线条1的宽度和点的样式
            lineWidth:2,
            markerOptions: { style:'dimaond' }//点的样式为砖石
          },
          {
             // 设置线条2的不显示两点之间的线条,设置点的大小和样式
            showLine:false,
            markerOptions: { size: 7, style:"x" }
          },
          {
          
            markerOptions: { style:"circle" }//设置点的样式为圆点
          },
          {
            //设置点的样式为正方形
            lineWidth:5,
            markerOptions: { style:"filledSquare", size:10 }
          }
      ]
    }
  );
    
});
还可以做成这样:

代码如下:
//
var labels=["Associates' Direct Cost"];
var lineData=[{"model":"2111-5","cpName":"Associates' Direct Cost","value":"124.12400000","begin":"2013-02-13 00:00:00","end":"2013-04-12 00:00:00","Warehouse":"Homelegance, Inc"}]//这是数据格式
plot = $.jqplot("", lineData, {
        title: "Cost for Model \"" + data[0].model + "\"",
        animate: !$.jqplot.use_excanvas,//禁用扩展插件中的动画效果
        animateReplot: true,//动态画线条
        seriesDefaults: {
            pointLabels:{ //设置坐标点标签
                show:true,
                location:'n',//设置标签显示在坐标点的位置,用英文方向缩写表示的。
                ypadding:3//在垂直方向的偏移量
                }
         },
         cursor:{ //设置光标样式
              show: true,
              zoom:true, //让光标在图表区显示
              showTooltip:false//当光标在图表区时是否显示提示框,提示的是坐标信息
         },
         axes:{
            xaxis:{
                renderer:$.jqplot.DateAxisRenderer,//设置x轴日期渲染插件
                tickOptions:{
                    formatString:'%b %#d, %y',//设置日期显示样式
                    angle: -30
                    }
            },
            yaxis:{
                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,//一种标签渲染插件
                tickOptions : {
                    angle: -30,
                    formatString : '$%.2f'
                }
            }
        },

        legend:{//显示下面的示意图
            renderer: $.jqplot.EnhancedLegendRenderer,//渲染插件
            show:true,
            location: 's',
            labels : labels,//labels指的是每种颜色所表示的东西,这里放的是cp_Name;
            placement:'outside',//设置显示在图表中还是在图表外
            yoffset: 60,//垂直偏移量
            rendererOptions:{
                numberRows: 1//显示多少行
            }
        }        
      });


需要的js文件有:
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.jqplot.min.js"></script>
<script type="text/javascript" src="js/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="js/jqplot.canvasAxisLabelRenderer.min.js"></script>
jqplot.enhancedLegendRenderer.min.js,jqplot.dateAxisRenderer.min.js,jqplot.highlighter.min.js,jqplot.pointLabels.min.js,jqplot.cursor.min.js
excanvas.compiled.js,jquery.jqplot.css

jqplot功能很强大的,还可以画很多很多的图形。今天只说到这里了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/419428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络协议包头赏析-TCP

转载自博客地址为http://roclinux.cn。 仍然先把TCP报文段的格式放在这里&#xff0c;然后我们看图说话&#xff1a; TCP报文段也分为首部和数据两部分&#xff0c;首部默认情况下一般是20字节长度&#xff0c;但在一些需求情况下&#xff0c;会使用“可选字段”&#xff0c;这…

Android使用webview控件加载本地html,通过Js与后台Java实现数据的传递

1.在布局文件中加WebView控件&#xff0c;在java中获取WebView对象。 2.加载本地html文件。 webView.loadUrl("file:///android_asset/android.html"); 3.开启js功能。 webView.getSettings().setJavaScriptEnabled(true); 4.添加一个js交互接口&#xff…

TreeMap的讲解

本文转载自&#xff1a;http://blog.csdn.net/chenssy/article/details/26668941点击打开链接 原文出自&#xff1a;http://cmsblogs.com/?p1013。尊重作者的成果&#xff0c;转载请注明出处&#xff01; 个人站点&#xff1a;http://cmsblogs.com ----------------------…

spring使用注解@Scheduled执行定时任务

最近做的项目中遇到了用spring中Schedule注解执行定时任务的功能&#xff0c;这里简单记录一下。 首先在applicationContext.xml中进行配置&#xff1a; xmlns 加下面的内容 xsi:schemaLocation加下面的内容 最后我们的task任务扫描注解 需要注意的几点&#xff1a; 1、spring的…

DIY Ruby CPU 分析 Part II

【编者按】作者 Emil Soman&#xff0c;Rubyist&#xff0c;除此之外竟然同时也是艺术家&#xff0c;吉他手&#xff0c;Garden City RubyConf 组织者。本文是 DIY Ruby CPU Profiling 的第二部分。本文系 OneAPM 工程师编译整理。 在第一部分中我们学习了 CPU 分析的含义和进行…

荐 Intellij IDEA创建Maven Web项目(带有webapp文件夹目录的项目)

转载自&#xff1a;点击打开链接 在创建项目中&#xff0c;IDEA提供了很多项目模板&#xff0c;比如Spring MVC模板&#xff0c;可以直接创建一个基于Maven的Spring MVC的demo&#xff0c;各种配置都已经设定好了&#xff0c;直接编译部署就可以使用。 最开始自己创建maven we…

iOS设计模式 - 迭代器

iOS设计模式 - 迭代器 原理图 说明 提供一种方法顺序访问一个聚合对象中的各种元素&#xff0c;而又不暴露该对象的内部表示。 源码 https://github.com/YouXianMing/iOS-Design-Patterns // // Node.h // IteratorPattern // // Created by YouXianMing on 15/10/26. // …

Android M 新的运行时权限开发者需要知道的一切

android M 的名字官方刚发布不久&#xff0c;最终正式版即将来临&#xff01; android在不断发展&#xff0c;最近的更新 M 非常不同&#xff0c;一些主要的变化例如运行时权限将有颠覆性影响。惊讶的是android社区鲜有谈论这事儿&#xff0c;尽管这事很重要或许在不远的将来会…

SpringMVC关于json、xml自动转换的原理研究[附带源码分析]

目录 前言现象源码分析实例讲解关于配置总结参考资料 前言 SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉&#xff0c;那么请参考它的入门blog&#xff1a;http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html 现象 本文使用的demo基于maven…

Android为网络请求自定义加载动画

android自带的加载动画都不怎么好看&#xff0c;在这里介绍一种自定义加载动画的方法 原始图片&#xff1a; 编写动画progressbar.xml, <?xml version"1.0" encoding"utf-8"?> <animated-rotate android:drawable"drawable/publicloading&…

Chapter 5 Exercises Problems

转载于:https://www.cnblogs.com/momoko/p/4931714.html