步骤:

1. 去highcharts官网下载最新版本

2. 在.aspx页面添加引用

例:

<link href="../JS/highcharts/css/highslide.css" rel="stylesheet" type="text/css" />
<script src="../JS/highcharts/js/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="../JS/highcharts/js/highcharts.js" type="text/javascript" charset="GB2312"></script>
<script src="../JS/highcharts/js/theme/MyGray.js" type="text/javascript"></script><%--自己写的样式--%>
<script src="../JS/highcharts/js/exporting.js" type="text/javascript" charset="GB2312"></script><%--导出--%>
<script src="../JS/highcharts/js/highslide-full.min.js" type="text/javascript"></script>
<script src="../JS/highcharts/js/highslide.config.js" type="text/javascript"></script>

3. js文件中代码

/* 曲线图 */
var chart; //曲线图变量
function LoadData() {
var date = document.getElementById("txtDevDate").value;
chart = new Highcharts.Chart({
chart: {
renderTo: 'container', //放置图表的容器
// plotBackgroundColor: null,
// plotBorderWidth: null,
defaultSeriesType: 'line',
zoomType: 'xy' //****** 这句是实现局部放大的关键处 ******
},
title: { //设置标题
text: (function () {
var strHTML = "<span style=\"font-size:18px; font-weight: bolder;\">" + OperatorName + "</span>";
return strHTML;
})(),
style: {
color: 'black'
}
},
xAxis: {
type: 'datetime',
max: setDate(date + " 00:00:01") + * * ,
min: setDate(date + " 00:00:00"),
labels: {
// staggerLines: 3,
rotation: -, //字体倾斜
align: 'right',
x: ,
y:
},
lineColor: '#C0D0E0'
},
yAxis: (function () {
var data = [];
var color = ["#DDDF0D", "#7798BF", "#55BF3B"];
for (var i = ; i < dataDevIndexName.length; i++) {
var yaxis = "";
if (i > ) {
yaxis = { title: { text: "" }, lineWidth: , lineColor: color[i], opposite: true };
} else {
yaxis = { title: { text: "" }, lineWidth: , lineColor: color[i] };
}
data.push(yaxis);
}
return data;
})(),
//鼠标放在某个点上时的提示信息
//dateFormat,numberFormat是highCharts的工具类
tooltip: {
formatter: function () {
return '<b>' + this.series.name + '</b><br/>' +
'监测时间:' + Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +
'监 测 值:' + this.y;
},
style: { //提示框字体样式
color: '#ffffff',
fontSize: '9px',
padding: '5px'
},
crosshairs: [{ //交叉点显示的两条纵线(如果只设置一个,只显示纵线)
width: ,
color: 'RED',
dashStyle: 'shortdot',
length: '10px'
}, {
width: ,
color: 'RED',
dashStyle: 'shortdot'
}]
},
//曲线的示例说明,像地图上得图标说明一样
legend: { //【图例】位置样式
layout: 'horizontal', //【图例】显示的样式:水平(horizontal)/垂直(vertical)
// backgroundColor: '#6B6B6B',
// borderColor: '#CCC',
borderWidth: ,
align: 'center',
verticalAlign: 'top',
enabled: true,
x: -,
y: ,
shadow: true,
// useHTML: true,
itemHoverStyle: {
color: '#921AFF'
},
itemStyle: {
color: '#6C6C6C'
}
},
//把曲线图导出成图片等格式
exporting: {
enabled: true
},
plotOptions: { //用来设置曲线的显示
line: {
marker: {
enabled: false
},
dataLabels: { //是否在曲线上显示数据
enabled: false
// color: 'red'
},
cursor: 'pointer',
enableMouseTracking: true, //是否显示title
// 允许线性图上的数据点进行点击
allowPointSelect: true,
// 当具体的数据点被点击时的事件响应函数。如果不需要事件响应,可以删除。
point: {
events: {
click: function (e) {
hs.htmlExpand(null, {
pageOrigin: {
x: this.pageX,
y: this.pageY
},
headingText: this.series.name,
// maincontentText: Highcharts.dateFormat('%A, %b %e, %Y', this.x) + '<br/> ',
maincontentText: (function () {
var date1Arr = nowDate.split('-');
var date2Arr = date.split('-');
var date1 = new Date(date1Arr[], date1Arr[], date1Arr[]);
var date2 = new Date(date2Arr[], date2Arr[], date2Arr[]);
if ((date1.getTime() - date2.getTime()) / / / < ) {
for (var i = ; i <= div_num; i++) {
var div = document.getElementById("divUpdate" + i);
if (div != null) {
div.innerHTML = "";
}
}
div_num++;
var strHTML = "<div id='divUpdate" + div_num + "'>";
strHTML += "<table>";
strHTML += "<tr><td>监测时间:</td><td>" + Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', e.point.x) + "</td></tr>";
strHTML += "<tr><td>原始监测值:</td><td>" + e.point.y + "</td></tr>";
strHTML += "<tr><td>新的监测值:</td><td><input type='text' id='newIndexValue' style='width:130px;' /></td></tr>";
strHTML += "<tr><td>备注:</td><td><textarea id='newIndexContent' style='width:180px; height:60px;' ></textarea></td></tr>";
strHTML += "<tr><td colspan='2' style='text-align:center;'><input type='button' value='保存' onclick='ActDataIns(" + e.point.id + ",2)' /></td></tr>";
strHTML += "</table></div>";
return strHTML;
} else {
return "超出一周不能修改!";
}
})(),
width:
});
}
}
},
animation: true, //当一个序列不显示时,是否显示动画
// 是否在图注中显示。
showInLegend: true,
// 调整图像顺序关系
zIndex:
}
}
});
}
/* 动态设置曲线图的series */
function setHighcharts() {
//addPlotLin 添加警戒线 即:一条横杠
if (document.getElementById("ckDim").checked == true) {
var res = PSCP.csLine.QueryDim(GetInt(dataDevIndexID[]));
var rt = res.value.ds.Tables[];
if (rt != null) {
if (rt.Rows.length > ) {
yaxis = { width: , color: 'red', value: GetInt(rt.Rows[].DIMENSIONMAX), id: 'plotline-1' };
}
} else {
alert("查询量纲出错:" + res.value.reason);
return;
}
chart.yAxis[].addPlotLine(yaxis);
}
// 设计思路:将series的name属性和data属性分开就行设置,最后合并
for (var i = ; i < dataDevIndexID.length; i++) {
var sdata = [];
var res = PSCP.csLine.QueryActData(GetInt(dataDevIndexID[i]), document.getElementById("txtDevDate").value);
var rt = res.value.ds.Tables[]; var onOffValue = -; //用于记录开关变量(前一条数据)的值 if (rt != null) {
if (rt.Rows.length > ) {
for (var j = ; j < rt.Rows.length; j++) {
var IsOnOff = GetInt(rt.Rows[j].DEVICECONFIGTYPE); //记录类型 0#指标类型,1#开关变量
if (IsOnOff == ) { //开关变量
if (j == ) {
onOffValue = GetInt(rt.Rows[j].INDEXVALUE); //第一条数据值赋给onOffValue
} else {
if (onOffValue != rt.Rows[j].INDEXVALUE) {
sdata.push({
x: rt.Rows[j].DT_MONITOR,
y: onOffValue,
id: rt.Rows[j].ACTUALDATAID
});
onOffValue = rt.Rows[j].INDEXVALUE;
}
}
sdata.push({
x: rt.Rows[j].DT_MONITOR,
y: onOffValue,
id: rt.Rows[j].ACTUALDATAID
});
} else { //指标类型
sdata.push({
x: rt.Rows[j].DT_MONITOR,
y: rt.Rows[j].INDEXVALUE,
id: rt.Rows[j].ACTUALDATAID
});
}
}
var seriesdata = { name: dataDevIndexName[i], data: sdata, yAxis: i };
chart.addSeries(seriesdata);
} else {
alert(dataDevIndexName[i] + ": 未找到任何符合条件的数据!");
}
} else {
alert("查询实测表出错:" + res.value.reason);
return;
}
}
}

注意:

  1. y轴的值必须是数字(这里使用的是parseFloat)

  2. x轴的值必须是数字(从一个日期到1970年1月1日的毫秒数)

  3. 在曲线图上添加横向时,值不能为null或者空,否则会报错

highcharts的使用的更多相关文章

  1. Highcharts中国地图热力图

    最近有个项目需要将MC销量按大陆各省统计,并以中国地图人力图效果显示.由于项目一直使用Highcharts进行图表的统计,故采用Highmaps来实现. 效果如下: 1)中国各个省.直辖市.自治区: ...

  2. Highcharts入门小示例

    一.创建条形图 1.创建div容器 <div id="container" style="min-width:800px;height:400px"> ...

  3. Highcharts配置

    一.基础使用 <script src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js"></script> ...

  4. highcharts .net导出服务 和 两种导出方式

    highcharts 的Net导出服务  GitHub上整理的https://github.com/imclem/Highcharts-export-module-asp.net 引用两个程序集 sh ...

  5. 《Learning Highcharts》中文翻译

    在highcarts的官方网站上推荐了一本书,由于highchart在平时工作中会用到,所以我们尝试将其翻译成中文,仅作为学习highchart工具的一种方式,以方便日后查阅. 翻译图书作为学习笔记, ...

  6. highcharts饼状图使用案例

    在公司由于需要对订单数据进行分析,故使用到了highcharts工具 <block name="Js"> <script type="text/java ...

  7. highcharts

    preparation Highcharts Highcharts是一个制作图表的纯Javascript类库,主要特性如下: 兼容性:兼容当今所有的浏览器,包括iPhone.IE和火狐等等: 对个人用 ...

  8. highcharts使用笔记

    1.legend取消点击事件: 饼图:plotOptions.pie.point.events.legendItemClick = function() {return false;} 其他,如:pl ...

  9. FusionCharts和highcharts 饼图区别!

    FusionCharts ---------------脚本--------------- <script src="../../../fashioncharts/js/FusionC ...

  10. .net 下新版highcharts本地导出图片bug处理

    最近公司要用到highcharts这个插件来生成图表,所以我花了点时间研究了下. 现在最新的版本是3.0.2,这js插件居多优点就不比多说了,demo官网上也很详细.但是优点不爽的地方是,导出图片这个 ...

随机推荐

  1. 【Linux常用命令(更新)】

    1.ifconfig:查看当前ip,网卡信息 2.df -h:查看文件系统的使用情况,挂载点信息 3.du -sh  /var:查看/var文件夹大小 4.netstat -a:查看网络联机状态 5. ...

  2. poj1418 Viva Confetti 判断圆是否可见

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Viva Confetti Time Limit: 1000MS   Memory ...

  3. 工作中遇到的浏览器差别(就不叫IE6bug了)

    1.根据ie版本写css <!--[if lt IE 8]> <style> .cntContainer{margin-top: -1px;} </style> & ...

  4. U盘装系统系列一—-安装老毛桃U盘启动制作工具

    今天跟大家分享下如何制作U盘启动盘,通过U盘启动来安装操作系统.U盘便于携带,同时能解决光驱出问题装不了系统的麻烦,可谓是装机利器!我一直用的都是老毛桃的U盘启动制作工具,很好用,很强大,就以它来演示 ...

  5. WDCP控制面板的常用liunx命令集

    WDCP是在linux下的一款常用的服务器可视化管理面板,是新手使用linux搭建网站的福音.本文不过多的介绍WDCP是什么,如果需要了解的话,可以至WDCP官方介绍页面查看. 今天博主准备查看网站系 ...

  6. JavaWeb学习笔记--Listener

    JSP中的监听器   Web程序在服务器运行的过程中,程序内部会发生多事件,如Web应用的启动和停止.Session会话的开始和销毁.用户请求的开始和结束等等.有时程序员需要在这些事件发生的时机执行一 ...

  7. subTree

    struct Tree() { int val; Tree *left, *right; Tree(int a): val(a), left(NULL), right(NULL){} } bool h ...

  8. SQL使用单引号

    SQL> select 'xxxx'oooo' from dual; ERROR: ORA-01756: quoted string not properly terminated SQL> ...

  9. 【转】NPAPI 插件无法在 Chrome 42 版及更高版本上正常运行

    原文网址:https://support.google.com/chrome/answer/6213033 NPAPI 插件无法在 Chrome 42 版及更高版本上正常运行 您可以利用插件在浏览器中 ...

  10. ZZY的困惑

    Description ZZY有很多爱好~~比如足球.电影.三国杀.A题,而他希望在这些爱好中能收获一些东西~~但是并不是所有爱好对所有目标都是起积极作用的..ZZY十分的困惑..于是列了下自己想获得 ...