jqplot是jquery的一个插件,该插件可以用来绘图,其官方文档地址:http://www.jqplot.com 大家可以根据情况选择查阅相应文档。
jqplot插件用来绘图是比较简单的,如下图所示:
上面的图形就是用jqplot进行绘制的,该图表只有一条线。这里对y轴的max值并没有加以限制,一般来说,这种只有一条线的图表,通常情况下,不限制max值绘图是没有什么问题的。但是,如果不止一条线,而且数据大小是动态的,情况就有些不同了,比如下图:
可以看到,图表在最上面已经“溢出”了,这样就没办法看到这些“溢出”部分的情况是怎样。而且在这种情况下,其实是没办法直接指定y轴max值的大小,需要根据生成的数据来动态决定,代码如下:
drowChar : function(data) { var options = {}; //组装成类似[[[],[],[]],[[],[],[]],[[],[],[]]]这样的数据结构,以满足画图所需的数据 if(data && data['xdata'] && data['ydata'] && data['others']){ var xdata=data['xdata'];//time var ydata=data['ydata'];//avg var max_min = data['others'];//max_min var minArr = [],avgArr = [],maxArr = [], maxValueArr = []; var minOps = [],avgOps = [],maxOps = []; var totalData = [];//最后组装的数据 for(var i=0;i<xdata.length;i++){//xdata.length与ydata.length一定相等 if(max_min[i]){ var max_min_data = max_min[i].split(','); } //alert("max_min_data:"+max_min_data+",max:"+max_min_data[0]+", min:"+max_min_data[1]) //最大值 maxValueArr.push(max_min_data[0]); maxArr.push(xdata[i],max_min_data[0]); maxOps.push(maxArr); maxArr = []; //平均值 avgArr.push(xdata[i],ydata[i]); avgOps.push(avgArr); avgArr = []; //最小值 minArr.push(xdata[i],max_min_data[1]); minOps.push(minArr); minArr = []; } totalData.push(maxOps); totalData.push(avgOps); totalData.push(minOps); //获取最大值数组中的最大值 var maxValue = Math.max.apply(null,maxValueArr); options['axes'] = {yaxis : {min : 0, max : maxValue*1.1}}; options.data = totalData; this.plot.replot(options); }
上面是绘图部分的关键代码,请注意上面的 options['axes'] = {yaxis : {min : 0, max : maxValue*1.1}};这里是根据生成的数据来动态传递y轴的max值,这里将其乘以1.1是为了渲染的更好,如下图所示:
很明显,这里的渲染没有“超过”最上面的框,这里的数据都是动态生成的,然后根据这些生成的数据来获取其中最大的值,将其乘以1.1赋值给y轴的max值。所以,如果用jqplot绘制的图表不止一条线时,需要注意y轴最大值的问题,防止渲染的图表有“溢出”现象产生。
相关推荐
**Jqplot - jQuery数据图插件** Jqplot是一款基于jQuery库的开源图表插件,主要用于在网页上创建各种动态、交互式的数据可视化图表。它以其丰富的图表类型、高度可定制性和良好的性能赢得了广大开发者的青睐。在...
jqPlot支持鼠标悬停时显示数据点信息(tooltips)、点击事件监听、图表缩放和平移等交互功能,增强了用户的使用体验。 6. **插件扩展** 除了基本的绘图功能,jqPlot还有一系列可选的插件,如日期轴插件、曲线平滑...
5. **交互特性**:jqPlot提供了Tooltips(提示信息)功能,当鼠标悬停在数据点上时,会显示详细的数据信息。数据点的高亮显示使得用户能够更容易地识别和分析数据点的值。这些交互特性增强了用户的使用体验,使得...
本DEMO——"fusionChars, highchars, jqplot绘图插件Demo",旨在帮助用户快速理解和应用这个插件。 首先,让我们了解一下`jqPlot`的基础。`jqPlot`是基于jQuery库开发的,因此在使用前需要先引入jQuery。它支持多种...
jqPlot 是一个纯 JavaScript 绘图插件,为 jQuery 提供了强大的图表绘制功能。该插件版本为 1.0.8,自 2009 年至 2015 年由 Chris Leonello 开发并维护。它支持在个人或商业项目中使用,并遵循 MIT 和 GPL version ...
- **兼容性**:jqPlot兼容大部分现代浏览器,包括Chrome、Firefox、Safari、IE8及更高版本。 **3. 使用步骤** 1. **引入依赖**:首先在HTML文件中引入jQuery库和jqPlot的JavaScript和CSS文件。 2. **准备数据**:...
jqPlot 是一个基于 jQuery 的数据可视化插件,用于在网页上绘制各种类型的图表,包括线图、条形图和饼图等。它以其简洁的 API 和丰富的定制选项而受到开发者们的青睐。以下是对 jqPlot 插件的一些核心知识点的详细...
本篇文章将深入探讨jqPlot库的核心功能、使用方法以及其在JavaScript绘图中的应用。 一、jqPlot简介 jqPlot是基于jQuery的开源数据可视化库,它提供了一套灵活且易于使用的API,让开发者能够快速构建出交互式的...
5. **工具条提示和数据点高亮显示**:当鼠标悬停在数据点上时,可以显示工具提示,并突出显示该数据点,增强用户体验。 6. **默认最优设置**:对于大多数常见的图表类型,jqPlot 都提供了易于使用的默认设置,即使是...
综上所述,jQuery jqPlot是一个功能强大且灵活的Web绘图工具,尤其在金融数据可视化方面有着广泛的应用。其易于使用、高度可定制的特性,使得开发者能够轻松创建出专业且吸引人的图表,提升Web应用的用户体验。
jqPlot 的核心优势在于其灵活性和易用性,使得开发者能够轻松地在网页上生成高质量的数据可视化效果。 ### 1. jqPlot 的基本使用 要开始使用 jqPlot,首先需要在项目中引入 jQuery 和 jqPlot 的库文件。在 HTML ...
为了避免在刷新数据时出现闪烁,可以按照上述步骤进行优化: 1. **初始化变量**:定义变量用于存储数据长度、数据缓存、数据偏移量、显示区尺寸等信息。 2. **获取显示区信息**:编写`GetScreenRect()`函数,用于...
当面对海量数据时,结合OpenLayers和Canvas可以有效地处理和展示这些数据。 1. **OpenLayers介绍** OpenLayers是一个开源的JavaScript库,主要用于构建地图应用。它支持多种地图服务,包括WMS、WMTS、TMS等,兼容...
随着数据采集设备性能的提升,参数记录数据量呈现出爆炸式增长,对于传统软件如Matlab或GDI来说,处理这些大规模数据时可能会导致程序运行缓慢甚至崩溃。 GPU(图形处理器)在图形渲染方面具有显著优势,它能通过...
《Origin 9.0科技绘图与数据分析超级学习手册》是一本专为用户深度学习Origin 9.0软件而设计的教程,旨在帮助用户掌握如何高效地利用该软件进行科学绘图和复杂的数据分析。Origin 9.0是科研人员和工程师常用的图形...
在本章节中,我们将详细探讨ArcGIS制图的渲染基础,这一章节是arcgis完整制图教程的一部分,重点介绍如何在ArcGIS中应用不同的渲染技术来呈现矢量和栅格数据。ArcGIS是由Esri公司开发的一套地理信息系统(GIS),...
在学习和使用这个资料集合时,你可能会接触到如何导入和使用jqPlot库、如何组织和传递数据、如何配置图表选项、如何处理事件响应等方面的知识。此外,通过查看示例代码,你可以学习到实际应用中的最佳实践和技巧。总...
- **数据限制**: 可能需要限制存储的数据量,避免内存消耗过大。 - **线程同步**: 在更新数据列表和绘图时,需要考虑线程安全,避免数据竞争。 6. **UI交互**: - **用户界面组件**: 如按钮、进度条、文本视图等...