`

图形化工具jqplot使用梳理1--多数据及差集的重绘

阅读更多

jqPlot是一款生成简易前端图形的纯js的jquery插件,能生成折线图、饼状图、柱状图及复合图形。依赖于jquery-version.js库文件。
应用
引用相应的文件
<link href="${ctx}/resources/jqplot/jquery.jqplot.min.css" rel="stylesheet" />
<!--相关脚本-->
<script type="text/javascript" src="${ctx}/resources/jquery/jquery-1.8.3.min.js"></script>
<script src="${ctx}/resources/jqplot/jquery.jqplot.min.js"></script>
<script src="${ctx}/resources/jqplot/excanvas.min.js"></script>
<!--针对x轴,设置不同的渲染机制及 高亮插件的使用 -->
<script src="${ctx}/resources/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>
<script src="${ctx}/resources/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>
<script src="${ctx}/resources/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js"></script>
<script src="${ctx}/resources/jqplot/plugins/jqplot.categoryAxisRenderer.min.js"></script>
<script src="${ctx}/resources/jqplot/plugins/jqplot.highlighter.min.js"></script> 

创建相应的接受容器
必须指定容器的宽高,及id标示属性
<div id="chart" style="height: 400px; width: 980px;"></div>

装载数据,展示报表
加载数据,通过上面的id属性展示在特定的容器内
//数据集
var plot1 = $.jqplot('chart', [line1,line2,line3], {   
      title:'${title}',//标题
      seriesColors: ["#ffcccc","#ff0000","#00ff00"],//数据集上的节点的对应颜色
      axesDefaults: {//默认的渲染风格
          tickRenderer: $.jqplot.CanvasAxisTickRenderer,
          tickOptions: {
              angle: 70,  //倾斜角度
              fontSize: '10pt'//字体大小
          }
      },
      axes:{   
          xaxis:{   
              label: '日期',
              //renderer: $.jqplot.CategoryAxisRenderer,
              renderer: $.jqplot.DateAxisRenderer, //x轴绘制方式 LinearAxisRenderer
              tickOptions:{   
                  formatString:'%Y-%m-%d'   --x轴展示的格式化
              },
              //tickInterval:8,//界面坐标线的间隔,针对于日期渲染方式
              labelOptions: {
                  fontSize: '12pt'
              }
          },
          yaxis:{   
              tickOptions:{   
                    formatString:'%.2f',   
                    angle:0    
              },   
              labelOptions:{                    
                  fontSize: '12pt'               
              },    
              label:'价格', 
              min:${minvalueY}  // set the min value for the y axis 
          }   
      },
      highlighter:{//高亮插件
          show: true,  //鼠标选中是否高亮
          sizeAdjust: 7.5,  //当鼠标移动到数据点上时,数据点扩大的增量增量
          tooltipAxes: 'xy', //提示信息框显示数据点那个坐标轴上的值,目前有横/纵/横纵三种方式。值分别为 x, y or xy.  
          //showMarker:true,   
          //yvalues: 4,   
          formatString:'<table class="jqplot-highlighter"><tr><td>日期:</td><td>%s</td></tr><tr><td>价格:</td><td>%.2f</td></tr></table>'
          //showTooltip: true, //是否显示提示信息栏
          //tooltipLocation: 'nw', //提示信息显示位置(英文方向的首写字母): n, ne, e, se, s, sw, w, nw.
          //fadeTooltip: true, //设置提示信息栏出现和消失的方式(是否淡入淡出)
          //tooltipFadeSpeed: "slow",//设置提示信息栏淡入淡出的速度:slow, def, fast, 或者是一个毫秒数的值.
          //tooltipOffset: 2, //提示信息栏据被高亮显示的数据点的偏移位置,以像素计。
          //tooltipAxes: 'xy', //提示信息框显示数据点那个坐标轴上的值,目前有横/纵/横纵三种方式。值分别为 x, y or xy.
          //tooltipSeparator: ', ', //提示信息栏不同值之间的间隔符号
          //useAxesFormatters: false, //提示信息框中数据显示的格式是否和该数据在坐标轴上显示格式一致
          //tooltipFormatString: '<b><i><span style="color:red;" mce_style="color:red;">hello</span></i></b> %.2f---%s'   
      } , 
      series:[    
            {
                lineWidth: 2, //指定折线的宽度
                markerOptions: { size: 5} //为了业务逻辑需要,设置小,会被后面重绘覆盖掉
            },    
            {   
              showLine:false,   //只显示节点元素,不显示线
              markerOptions: { size: 10}   
            }
            ,    
            {   
              showLine:false,    
              markerOptions: { size: 10}   
            }   
       ]   
    });   

数据组织形式,为了和jqplot的数据格式保持一致,使用了org.codehaus.jackson.map.ObjectMapper类
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
ObjectMapper mapper = new ObjectMapper();
mapper.setDateFormat(sdf);

List<Object[]> totalRevenue = new ArrayList<Object[]>();//所有值  数据对象是对应的x与y的数值
String  line1 = mapper.writeValueAsString(totalRevenue);//相应的字符串

效果为了在折线上显示两种不同的数据,且用一个x坐标轴,使用了全部展示,并用在后面进行重绘(不显示线条且节点扩大覆盖)的思路。

效果如下:


 

  • 大小: 120.9 KB
分享到:
评论

相关推荐

    mind1949#advanced-sql-tutorial#1.7.4_用差集实现关系除法运算1

    1.7.4 用差集实现关系除法运算准备数据:skill varchar(100) not nullemp varchar(100) not null,skill

    AutoJs源码-交集-并集-差集-去重(1)

    AutoJs源码-交集_并集_差集_去重(1)。本资源购买前提醒:本源码都是实际autojs项目模板,安装好autojs直接运行即可打开。1、支持低版本autojs。2、资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您...

    后端数据优化之-Redis 自带差集测试Demo.rar

    描述中的"redis c# 数据优化 差集 c#redis GetDifferencesFromSet"指出了我们将使用C#来调用Redis客户端,执行差集操作。`GetDifferencesFromSet`是一个可能的C#方法名,它代表了从Redis服务器获取两个集合差集的...

    给出两个以行为单位文本文件的差集的命令行工具

    给出两个以行为单位文本文件的差集的命令行工具。 功能为输出当前目录下在文本文件prog中且不在文本文件list中的行。 可以用重定向将结果输出到文件中,比如: lackof &gt;result 注意文件无后缀名 比如文件prog中有4行...

    JavaScript应用实例-交集_并集_差集_去重(1).js

    JavaScript应用实例-交集_并集_差集_去重(1).js

    数据据表列比较工具,输出差集

    在IT行业中,数据处理是一项至关重要的任务,尤其是在大数据分析、数据库管理及数据验证等领域。"数据表列比较工具,输出差集"是一个专门用于比较两个数据表之间列差异的实用工具,它能够帮助用户快速识别并提取出两...

    C# 两个datatable中的数据快速比较返回交集 并集或差集

    当我们处理多个DataTable时,可能需要比较它们之间的数据,找出交集、并集或差集。这在数据分析、数据清洗或者数据库同步等场景中非常常见。本教程将通过一个完整的源码示例,帮助初学者理解如何在C#中快速地完成这...

    测量程序编制 - python 50数据类型:Set(集合)-差集.pptx

    本节将深入探讨集合的差集操作,包括如何使用运算符、`difference()`方法以及`difference_update()`方法。 1. **运算符 -** 在Python中,集合之间可以通过运算符 `-` 来获取差集。例如: ```python set1 = {1, ...

    取两列数据交集、并集、差集

    excel取两列数据交集、并集、差集 excel取两列数据交集、并集、差集 excel取两列数据交集、并集、差集

    CAD三维绘图教程(3)—差集

    本教程旨在深入讲解如何在计算机辅助设计(CAD)软件中运用差集功能,结合其他三维绘图工具,如UCS(用户坐标系统)、面域、旋转等,来创建复杂的三维立体模型。通过本教程的学习,学员将掌握以下关键技能: 1. **...

    JAVA获取两个数据量较大的ArrayList的交集、差集以及并集

    JAVA获取两个数据量较大的ArrayList的交集、差集以及并集,记录一下以便查阅。JAVA获取两个数据量较大的ArrayList的交集、差集以及并集,记录一下以便查阅。JAVA获取两个数据量较大的ArrayList的交集、差集以及并集...

    一个简单好用的redis缓存图形化管理工具,包含redis的5种数据类型的CRUD操作

    本文将深入探讨一个基于JeeSite框架构建的Redis缓存图形化管理工具,它支持Redis的五种基本数据类型的创建、读取、更新、删除(CRUD)操作,帮助开发者更直观地管理和维护Redis中的数据。 首先,我们来了解Redis的...

    测量程序编制 - python 51数据类型:Set(集合)-对称差集.pptx

    在Python编程语言中,集合(Set)是一种无序且不包含重复元素的数据结构。集合提供了多种操作,包括对称差集。对称差集是指两个集合中各自独有的元素,即那些既不在A&B中的元素。这里我们将深入探讨如何在Python中...

    redis-desktop-可视化工具-2019.5.176.zip

    使用可视化工具如Redis Desktop Manager,用户可以更直观地理解这些数据结构和命令,有助于提升工作效率。例如,通过该工具,你可以快速查看某个键所对应的值,或者通过图形化界面执行复杂的多步操作,如批量删除键...

    3_求差集_

    在计算机科学和编程领域,集合(Set)是一种数据结构,用于存储无序的唯一元素。集合的操作是基于数学中的集合论概念,其中包括并集、交集以及差集等。本主题将深入探讨差集的概念,以及如何在编程中实现两个集合的...

    求js两个数组的差集,以便测试

    在JavaScript中,数组是一种用于存储多个值的数据结构。数组中的每个元素都有一个对应的索引(从0开始),并且可以通过该索引访问数组中的元素。 示例代码: ```javascript var arr1 = new Array('2','4','6','8','...

    数据比对工具(替重、减法、交集、合集)

    一款便捷的数据比对工具,可进行单列数据替重、求A组数据剔除B组数据(相当于SQL中的minus)、求A组数据和B组数据的交集。可进行号码、编号、串号等数据的比对整理工作,非常方便。

    图形的表示与数据结构课件

    ### 图形的表示与数据结构知识点解析 #### 一、计算机图形学概述 **计算机图形学**是一门涉及计算机产生、存储以及处理物体物理模型(Modeling)和它们的画面(Rendering)的学科。它主要由三个核心组成部分构成:数据...

    delphi Memo及tstrlists的交集差集并集

    在Delphi编程环境中,`TMemo`控件和`TStringList`类是两种非常常见的数据处理工具。`TMemo`通常用于显示和编辑多行文本,而`TStringList`则是一个动态数组,用于存储和操作字符串列表。在本篇文章中,我们将深入探讨...

    c++程序设计实现集合交集并集差集.pdf

    本文主要介绍了使用 C++ 语言实现集合的交集、并集和差集运算。该程序设计了一个名为 int_set 的类,用于表示一个整数集合。该类中包含了多个成员函数,用于实现集合的基本运算,例如添加元素、删除元素、判断元素...

Global site tag (gtag.js) - Google Analytics