HighCharts 根据spline-plot-bands图,定制自己的图(区间里显示多个数据)
来源:互联网 发布:打折网 淘宝 编辑:程序博客网 时间:2024/05/19 04:03
所以我和项目经理商量如何显示这个图形,按照他的意思是,按照范围来显示这一段区域内的数据,所以我们觉得使用spline-plot-bands图,另辟蹊径,但是遇到一个问题:区域是显示了,但是从数据库里选取的数据只有y坐标的值,没有和x坐标对应起来,这样就造成了y轴数据和x轴数据不对应。为了解决这个问题,我开始想办法,项目经理说:“可能这个图形不支持这样的功能”,但是我想了一下,不对,highcharts这么强大怎么可能不支持,可能是我们想的有问题,然后我开始查看highcharts的api,通过查看api看看xAxis到底能不能放与y轴对应的时间数据(注:之前使用的图是使用xAxis对象里的categories[这里存放数据],但是用spline-plot-bands图形好像不支持这样放数据),然后查看type属性的datetime的图形的demo,通过这个例子发现,data数据格式是个二维数组:
data: [ [Date.UTC(2010, 0, 1), 29.9], [Date.UTC(2010, 0, 2), 71.5], [Date.UTC(2010, 0, 3), 106.4], [Date.UTC(2010, 0, 6), 129.2], [Date.UTC(2010, 0, 7), 144.0], [Date.UTC(2010, 0, 8), 176.0] ]
而之前我使用的是一维数组,而且,这样就解决了x,y轴数据不对应问题了,这样一来,x,y轴对应起来又有了数据的范围划分了,漂亮!^_^,但是行不行呢,我还要测试。
var Year = 0;var Month = 0;var Day = 0;var H = 0;var M = 0;var S = 0;$(function () { bindYxbh(); initChart();});var obj = { //去掉highcharts.com商标 credits: { enabled: false }, //去掉chart不必要属性 exporting: { enabled: false }, chart: { type: 'spline' }, title: { text: '单体电压分析图' }, xAxis: { type: 'datetime' }, yAxis: { title: { text: '电压(v)' } }, tooltip: { valueSuffix: 'v' }, plotOptions: { spline: { lineWidth: 4, states: { hover: { lineWidth: 5 } }, marker: { enabled: false }, pointInterval: 20000, // 10分钟
pointStart: Date.UTC(Year, Month, Day, H, M, S) } }, series: [{ name: '单体电压', data: [] }], navigation: { menuItemStyle: { fontSize: '10px' } }};function initChart() { $('#container').highcharts(obj);}function bindYxbh() { zwobj.url = '../../WebService/AnalysisChartService.ashx?action=QueryAllYxbh'; ajaxData();}function ajax_QueryAllYxbh(data) { if (data == null) { return; } var len = data.Data.length; for (var i = 0; i < len; i++) { if (data.Data[i].yxbh != null) { $("#pile").append("<option value='" + data.Data[i].yxbh + "'>" + data.Data[i].yxbh + "</option>"); } }}function search() { var kssj = $("#begintime").val(); var skssj = kssj.split(' '); Year = skssj[0].split('-')[0]; Month = skssj[0].split('-')[1]; Day = skssj[0].split('-')[2]; H = skssj[1].split(':')[0]; M = skssj[1].split(':')[1]; S = skssj[1].split(':')[2]; var dt = $("#txt_dt").val(); var yxbh = $("#pile").val(); if (kssj.length <= 0 || dt.length <= 0) { $.messager.alert("提示", "请输入单体或选择查询时间!", "info"); return; } zwobj.url = '../../WebService/AnalysisChartService.ashx?action=QueryData'; zwobj.data = { kssj: kssj, dt: dt, yxbh: yxbh }; ajaxData();}function ajax_QueryData(data) { if (data == null) { return; } var len = data.Data.length; var z = []; for (var i = 0; i < len; i++) { var s = eval("new " + data.Data[i].sj.split('/')[1]).Format("yyyy-MM-dd hh:mm:ss"); z.push([Date.UTC( s.split(' ')[0].split('-')[0],
parseInt(s.split(' ')[0].split('-')[1])-1,
s.split(' ')[0].split('-')[2], s.split(' ')[1].split(':')[0], s.split(' ')[1].split(':')[1], s.split(' ')[1].split(':')[2]), data.Data[i].dtdy]); } obj.series[0].data = z; obj.plotOptions.spline.pointStart = Date.UTC(Year, Month, Day, H, M, S); initChart();}
0 0
- HighCharts 根据spline-plot-bands图,定制自己的图(区间里显示多个数据)
- highcharts折线图-line,spline
- highcharts spline传入数据
- highcharts在项目中的应用,根据年月日周季显示图形,形象的展示数据。
- 根据CentOS定制自己的发行版
- 在GDB里plot数据
- highcharts饼图动态显示数据(用ajax)
- 利用HighCharts 显示饼图
- Highcharts多个Y轴动态显示时,yAxis坐标的双重显示
- Matlab数据的可视化 -- 线性图函数plot
- Highcharts 操作series 的data里的数据
- 关于使用plot动态显示数据的几个实用程序
- 解决ScrollView里嵌套多个RecyclerView时,RecyclerView数据显示不全的问题
- bands
- HighCharts动态显示数据实例
- HighCharts的显示问题
- 定制chart的DataTips个性化数据显示。
- Highcharts展示一天24个时间段的数据统计
- 程序员编程艺术学习笔记(二)字符串是否包含问题
- CakePHP 安装
- PAT A 1009. Product of Polynomials (25)
- 一维向量。。
- IOS 文件目录及NSUserDefaults浅谈
- HighCharts 根据spline-plot-bands图,定制自己的图(区间里显示多个数据)
- Git创建与合并分支
- C字符串处理函数
- shell命令解析中扩展与重定向顺序问题 .
- Tomcat 对 Cookie的聪明处理。
- 图像基础:图像坐标
- WPF加载相对路径的图片的解决方法
- Android调试工具之Traceview
- spring源码下载地址