只做曲线的插件:echarts(强烈推荐),flot。

flot官网:

http://www.flotcharts.org/

实现的效果:
1.自由放大缩小,
2.多条y轴线(或者x轴),
3.可以选择的显示哪几条线,
4.显示坐标,坐标自由选择,
5.标示线
6……等等



js到官网去下载。
这里只贴整合的代码


<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Flot Examples</title><link href="layout.css" rel="stylesheet" type="text/css"><!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]--><script language="javascript" type="text/javascript" src="../jquery.js"></script><script language="javascript" type="text/javascript" src="../jquery.flot.js"></script><script language="javascript" type="text/javascript" src="../jquery.flot.selection.js"></script><script language="javascript" type="text/javascript" src="../jquery.flot.crosshair.js"></script><script language="javascript" type="text/javascript" src="../jquery.flot.threshold.js"></script></head><body><h1>Flot Examples</h1><div id="placeholder" style="width:700px;height:400px"></div><p> <p>Position axis <button class="location">left</button> or <button class="location">right</button>.</p></p><p id="choices">Show:</p><p><input id="enableTooltip" type="checkbox">Enable tooltip</p><p>You selected: <span id="selection"></span></p><p id="hoverdata">Mouse hovers at(<span id="x">0</span>, <span id="y">0</span>). <span id="clickdata"></span></p><p><input id="clearSelection" type="button" value="重置" /><br>开始时间:<input id="startTime" type="text" placehold="开始时间"><br>结束时间:<input id="endTime" type="text" placehold="结束时间"><br><input id="setSelection" type="button" value="选择" /><br>y轴的上下限:<br></p><!--  <p>Selections are really useful for zooming. Just replot thechart with min and max values for the axes set to the valuesin the "plotselected" event triggered. Enable the checkboxbelow and select a region again.</p><p><label><input id="zoom" type="checkbox" />Zoom to selection.</label></p>-->
<script type="text/javascript">
$(function () {var data = [{label: "United States",data: [[1990, 18.9], [1991, 18.7], [1992, 18.4], [1993, 19.3], [1994, 19.5], [1995, 19.3], [1996, 19.4], [1997, 20.2], [1998, 19.8], [1999, 19.9], [2000, 20.4], [2001, 20.1], [2002, 20.0], [2003, 19.8], [2004, 20.4]]},{label: "Russia", data: [[1992, 13.4], [1993, 12.2], [1994, 10.6], [1995, 10.2], [1996, 10.1], [1997, 9.7], [1998, 9.5], [1999, 9.7], [2000, 9.9], [2001, 9.9], [2002, 9.9], [2003, 10.3], [2004, 10.5]]},{label: "United Kingdom",data: [[1990, 10.0], [1991, 11.3], [1992, 9.9], [1993, 9.6], [1994, 9.5], [1995, 9.5], [1996, 9.9], [1997, 9.3], [1998, 9.2], [1999, 9.2], [2000, 9.5], [2001, 9.6], [2002, 9.3], [2003, 9.4], [2004, 9.79]]},{label: "Germany",data: [[1990, 12.4], [1991, 11.2], [1992, 10.8], [1993, 10.5], [1994, 10.4], [1995, 10.2], [1996, 10.5], [1997, 10.2], [1998, 10.1], [1999, 9.6], [2000, 9.7], [2001, 10.0], [2002, 9.7], [2003, 9.8], [2004, 9.79]]},{label: "Denmark",data: [[1990, 9.7], [1991, 12.1], [1992, 10.3], [1993, 11.3], [1994, 11.7], [1995, 10.6], [1996, 12.8], [1997, 10.8], [1998, 10.3], [1999, 9.4], [2000, 8.7], [2001, 9.0], [2002, 8.9], [2003, 10.1], [2004, 9.80]]},{label: "Sweden",yaxis:3,data: [[1990, 5.8], [1991, 6.0], [1992, 5.9], [1993, 5.5], [1994, 5.7], [1995, 5.3], [1996, 6.1], [1997, 5.4], [1998, 5.4], [1999, 5.1], [2000, 5.2], [2001, 5.4], [2002, 6.2], [2003, 5.9], [2004, 5.89]]},{label: "Norway",yaxis:2,data: [[1990, 8.3], [1991, 8.3], [1992, 7.8], [1993, 8.3], [1994, 8.4], [1995, 5.9], [1996, 6.4], [1997, 6.7], [1998, 6.9], [1999, 7.6], [2000, 7.4], [2001, 8.1], [2002, 12.5], [2003, 9.9], [2004, 19.0]]}];//选择显示不显示的var choiceContainer = $("#choices");$.each(data, function(key, val) {choiceContainer.append('<br/><input type="checkbox" name="' + key +'" checked="checked" id="id' + key + '">' +'<label for="id' + key + '">'+ val.label + '</label>');});choiceContainer.find("input").click(function(){plotAccordingToChoices();});//启动画图的方法var plotAccordingToChoices = function(){console.log(choiceContainer);var data1 = [];choiceContainer.find("input:checked").each(function () {var key = $(this).attr("name");if (key && data[key])data1.push(data[key]);});$.plot(placeholder, data1, options);}//获取点信息var previousPoint = null;$("#placeholder").bind("plothover", function (event, pos, item) {//alert("test")$("#x").text(pos.x.toFixed(2));$("#y").text(pos.y.toFixed(2));if ($("#enableTooltip:checked").length > 0) {if (item) {if (previousPoint != item.dataIndex) {previousPoint = item.dataIndex;$("#tooltip").remove();var x = item.datapoint[0].toFixed(2),y = item.datapoint[1].toFixed(2);showTooltip(item.pageX, item.pageY,item.series.label + " of " + x + " = " + y);}}else {$("#tooltip").remove();previousPoint = null;            }}});var  position ="right";var options = {series: {lines: { show: true },points: { show: true }},crosshair: { mode: "x" },//crosshair: { mode: "y" },legend: { noColumns: 2 },xaxis: { tickDecimals: 0 },//  yaxis: { min: 0 },grid: { hoverable: true, clickable: true, autoHighlight: false  } ,yaxes: [ {min: 3} , {max: 20},{// align if we are to the rightalignTicksWithAxis:  position == "right" ? 1 : null,position: position,tickFormatter: euroFormatter} ],selection: { mode: "x" }};var placeholder = $("#placeholder");placeholder.bind("plotselected", function (event, ranges) {$("#selection").text(ranges.xaxis.from.toFixed(1) + " to " + ranges.xaxis.to.toFixed(1));// var zoom = $("#zoom").attr("checked");//if (zoom)var data1 = [];choiceContainer.find("input:checked").each(function () {var key = $(this).attr("name");if (key && data[key])data1.push(data[key]);});plot = $.plot(placeholder, data1,$.extend(true, {}, options, {xaxis: { min: ranges.xaxis.from, max: ranges.xaxis.to }}));});placeholder.bind("plotunselected", function (event) {$("#selection").text("");});var plot = $.plot(placeholder, data, options);$("#clearSelection").click(function () {$.plot(placeholder, data, options);});$("#setSelection").click(function () {var startTime = $("#startTime").val();var endTime = $("#endTime").val();plot.setSelection({ xaxis: { from: startTime, to: endTime } });});function euroFormatter(v, axis) {return v.toFixed(axis.tickDecimals)+"$";}$(".location").click(function () {var data1 = [];choiceContainer.find("input:checked").each(function () {var key = $(this).attr("name");if (key && data[key])data1.push(data[key]);});position = $(this).text();$.plot(placeholder, data1, {series: {lines: { show: true },points: { show: true }},legend: { noColumns: 2 },xaxis: { tickDecimals: 0 },//  yaxis: { min: 0 },grid: { hoverable: true, clickable: true } ,yaxes: [ {min: 3} , {max: 20},{// align if we are to the rightalignTicksWithAxis:  position == "right" ? 1 : null,position: position,tickFormatter: euroFormatter} ],selection: { mode: "x" }});});//显示曲线信息的div
function showTooltip(x, y, contents) {$('<div id="tooltip">' + contents + '</div>').css( {position: 'absolute',display: 'none',top: y + 5,left: x + 5,border: '1px solid #fdd',padding: '2px','background-color': '#fee',opacity: 0.80}).appendTo("body").fadeIn(200);
}
});</script></body>
</html>

我觉得echarts更加丰富和强大,之后会有相关代码整合。

flot插件整合(曲线方法,多轴等)相关推荐

  1. iOS之深入解析CocoaPods的插件机制和如何加载插件整合开发工具

    一.CocoaPods 插件机制 ① Ruby 在 Ruby 中,类永远是开放的,总是可以将新的方法加入到已有的类中,除了自己的代码中,还可以用在标准库和内置类中,这个特性被称为 Ruby Open ...

  2. 曲线绕x轴旋转曲面方程_曲线绕着Ox轴旋转所得的曲面方程是______。

    曲线绕着Ox轴旋转所得的曲面方程是______. 更多相关问题 [单选] 清明是民间祭奠亡者的重要时候.在这个节日里,人们会不约而同地云集在骨灰寄存处,进行祭祀活动.清明烧纸是最普遍的民俗,也是()的 ...

  3. safari java插件故障_safari flash插件故障怎么办 mac safari flash插件故障解决方法

    近几日,许多网友都在关注safari flash插件故障怎么办 mac safari flash插件故障解决方法这个话题,那么safari flash插件故障怎么办 mac safari flash插 ...

  4. 机器学习数据整合+pandas方法astype、merge、drop、to_numeric、concat等

    机器学习数据整合+pandas方法astype.merge.drop.to_numeric.concat等 # 合并两个数据集的数据并进行特征处理 def combine_features(self, ...

  5. 【Android 插件化】VirtualApp 源码分析 ( 启动应用源码分析 | HomePresenterImpl 启动应用方法 | VirtualCore 启动插件应用最终方法 )

    文章目录 一.启动应用源码分析 1.HomeActivity 启动应用点击方法 2.HomePresenterImpl 启动应用方法 3.VirtualCore 启动插件应用最终方法 一.启动应用源码 ...

  6. tomcat 和apache的整合的方法及配置(一)

    一.   apache和tomcat的简介及整合的原因   整合 Apache Http Server 和 Tomcat 可以提升对静态文件的处理性能.利用 Web 服务器来做负载均衡以及容错.无缝的 ...

  7. idea装python插件_学习idea2020手动安装python插件的实现方法

    本文主要介绍了idea2020手动安装python插件的实现方法,分享给大家,具体如下: 自动安装报错 手动安装查看idea版本 我的版本为 - 201.7846.76 查找版本并下载python插件 ...

  8. osg第三方插件的编译方法(以jpeg插件来讲解)

    osg以插件方式来扩展.加载第三方库,如果这些库在程序运行时找不到,就会报类似如下的错误:(这里以jpeg为例): 下面以jpeg为例,讲解jpeg插件的编译方法,其它库和这步骤类似. 先从库的官网下 ...

  9. eclipse插件安装的方法

    作者:xyzroundo/Yan eclipse插件安装的方法,有如下几种: 1.link方法: 将插件放到eclipse根目录的xx目录,用xx.link文件关联:(最传统) 2.p2管理:直接将插 ...

最新文章

  1. RPC远程调用通俗理解
  2. 1.5K star量,上古老番变4K,B站开源超分辨率算法
  3. nginx服务器安装及配置文件详解
  4. Linux之nginx入门
  5. Linux Ubuntu使用技巧
  6. dede后台栏目管理文章统计数量和实际文章数不一致解决办法
  7. 10g手动创建数据库
  8. JSON与localStorage的爱恨情仇
  9. 前端笔记 | CSS基础
  10. VUE 学习代码 监视和 模板语法回调函数
  11. 数据库课程设计(学校运动会管理系统)2021-9-21
  12. linux查看ipmi端口down,Linux通过命令行设置IPMI的解决方法
  13. 腾讯会议共享屏幕,ppt如何使用演讲者模式
  14. 转载:技术大停滞——范式春梦中的地球工业文明8 反思与总结
  15. 老九学堂C++实现小游戏之小公主养成记
  16. 安卓投屏传输手机声音到电脑最简单的方式
  17. 宏碁笔记本安装固态硬盘
  18. 调整SumatraPDF暗黑模式
  19. 7个技巧帮助你进行更有吸引力的脉动/脉搏调查
  20. 很经典的十五句话,从别人的blog上看来的!

热门文章

  1. grad can be implicitly created only for scalar outputs
  2. PyTorch入门(五)使用CNN模型进行中文文本分类
  3. 关于function declared implicitly的正确解法以及extern的用法
  4. 2023年天津市大学软件学院专升本专业课考试成绩查询时间的通知
  5. 美国CISA将设立供应链风险管理办公室
  6. websocket 西部数码php_在PHP服务中使用Websocket
  7. Windows 7下搭建本地Discuz论坛
  8. 洛谷 P2559 [AHOI2002]哈利·波特与魔法石
  9. 【无人机】【2011.03】无人飞行器的自主飞行研究
  10. oracle srvctl命令,ORACLE RAC 数据库服务器上 srvctl 常用的一些操作命令