步骤:

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. angularJS环境安装

    第一步: 安装node.js,进入node.js官网(http://nodejs.org/)下载安装相应的node.js版本:

  2. Ubuntu SSH 客户端的应用 | sshfs映射远程文件系统为本地磁盘

    SSH是指Secure Shell,是一种安全的传输协议. Ubuntu客户端通过SSH访问远程服务器 ,以下步骤是客户端 的配置方法: 1. sudo apt-get install ssh 2. ...

  3. eclipse 插件 最新 eclipse4.x 插件

    Properties  Editor:  中文显示属性配置文件 help ——> install new  SoftWare ——>add Name: xx Location: http: ...

  4. JCo 指南

    http://blog.csdn.net/asdfak/article/details/5834731 JAVA 调用SAP端接口 Java Connector and BAPI 前些日子想去深入的研 ...

  5. 启动外部exe程序

    Process myProcess = new Process();myProcess.StartInfo.FileName = pathName;myProcess.Start();其中的pathN ...

  6. POJ 1064 Cable master(二分查找+精度)(神坑题)

    POJ 1064 Cable master 一开始把 int C(double x) 里面写成了  int C(int x) ,莫名奇妙竟然过了样例,交了以后直接就wa. 后来发现又把二分查找的判断条 ...

  7. 1.1C++入门 未完待续。。。

    第一个C++程序: #include<iostream> int main() { std::cout << "Hello World !" << ...

  8. jquery1.9学习笔记 之层级选择器(一)

    子选择器(“parent > child”) 描述:选择所有父元素的直系子元素. 例子: <!doctype html> <html lang='zh'> <hea ...

  9. NOR flash和NAND flash区别,RAM 和ROM区别

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...

  10. Qt编程之qrc文件的链接

    在Qt里面,.qrc文件是一种类似XML结构的文件,用结构化数据描述应用程序所需要的资源位置,例如图片,应用程序的图标文件等.它最终是与.ui文件类似都被通过Qt提供的命令行工具生成对应的qrc_XX ...