asp.net中绘制大数据量的可交互的图表

  在一个asp.net项目中要用到能绘制大数据量信息的图表,并且是可交互的(放大、缩小、导出、打印、实时数据),能够绘制多种图形。

  为此进行了多方调查预研工作,预研过微软的MsChart图表组件、基于jquery的FlortChart图表、Silverlight的Visifire图表组件、基于js和flash的FusionCharts图表、Ext4.0框架中的图表、纯js的Highstock和纯js的Highcharts。

下面给出各个图表的预研结果,以供参考。


MsChart


MsChart是一个微软自带图表,图表支持事件、实时数据、导出图片、打印图表等功能,但是不支持放大缩小功能。所表现的形式是图片


数据量


6M


数据格式


支持DataTable、Object[]等多种数据形式


交互方式


通过.cs后台代码进行数据填充


数据源时间


16s


响应时间


毫秒


优点


对大数据量支持效果比较好,响应时间快,不需要用户下载安装任何插件


缺点


不支持放大缩小功能,表现形式是图片,不满足系统需求


Highcharts


Highcharts是一款纯js的图表,图表支持事件、实时数据、放大缩小、导出图片、打印图表功能


数据量


6M


数据格式


Json轻数据格式


交互方式


Highcharts通过ajax调用后台方法获取数据,然后显示;


数据源时间


16.97s


响应时间


8s


优点


易于维护和定制、展现美观、满足系统需求,不需要用户下载安装任何插件


缺点


加载速度慢,容易造成浏览器卡死


FlortChart


FlortChart基于JQuery的图形组件,支持事件、放大缩小


数据量


6M


数据格式


Xml,json


交互方式


FlortChart通过ajax调用后台方法获取数据,然后显示


数据源时间


16s


响应时间


40s


优点


开源免费,不需要用户下载安装任何插件


缺点


加载速度慢,容易造成浏览器卡死


Visifire


Visifire是基于微软Silverlight的一个图形组件,支持事件、放大缩小


数据量


6M


数据格式


Xaml


交互方式


Visifire通过ajax调用后台方法获取数据,然后显示


数据源时间


16s


响应时间


2~3s


优点


数据加载后响应比较快


缺点


不易定制,无法实现实时数据,用户要下载安装Silverlight组件


FusionCharts


FusionCharts基于Js和Flash的图形组件,支持事件、放大缩小


数据量


6M


数据格式


XML 、JSON


交互方式


FusionCharts通过ajax调用后台方法获取数据,然后显示


数据源时间


16s


响应时间


1~2s


优点


有固定的模版,响应速度快,交互流畅


缺点


收费,用户要下载安装Flash组件


Ext4.0


Ext4.0中自带的图表控件是基于Flash,支持事件、实时数据、提示框


数据量


6M


数据格式


Xml,json


交互方式


Ext图表通过ajax调用后台方法获取数据,然后显示


数据源时间


16s


响应时间


10s


优点


框架体系中自带,融合度高;不需要用户下载安装任何插件


缺点


加载速度慢,没找到放大缩小的解决方案


Highstock


Highstock是一款纯js的图表,图表支持事件、实时数据、放大缩小、导出图片、打印图表功能


数据量


6M


数据格式


Json轻数据格式


交互方式


Highstock通过ajax调用后台方法获取数据,然后显示;


数据源时间


16.97s


响应时间


0~1s


优点


满足系统需求;

交互响应速度快;

易于维护和定制格式、样式、界面美观;

开源免费;

不需要用户下载安装任何插件;


缺点


X轴只支持日期

只支持线、柱、面图表,不支持饼图、雷达图等图表

通过结果很容易看出纯js的Highstock图表基本能满足大数据可交互的需求,接下来我就以Highstock为基点进行大数据量绘制图形的进行讲解。

在进行实际的开发前最好到官网http://www.highcharts.com/ 看一些demos和api(要看Highstock的),这样有助于详细了解。

接下来就可以根据demo进行学习了,还可以在源码中做一些个性化的修改。

时间: 2024-10-13 00:51:39

asp.net中绘制大数据量的可交互的图表的相关文章

【MySQL】MySQL中针对大数据量常用技术_创建索引+缓存配置+分库分表+子查询优化(转载)

原文地址:http://blog.csdn.net/zwan0518/article/details/11972853 目录(?)[-] 一查询优化 1创建索引 2缓存的配置 3slow_query_log分析 4分库分表 5子查询优化 二数据转移 21插入数据 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求.这个时候NoSQL的出现暂时解决了这一危机.它通过降低数据的安全性,减少对事务

WCF大数据量传输解决方案

文章内容列表:1. 场景:2. 解决方案3. WCF契约与服务实现设计静态图4. WCF契约与服务实现设计详细说明6. 服务端启动服务代码:7. 客户端代码8.   WCF大数据量传输解决方案源码下载 1. 场景: WCF在网络传输中,大数据量传输造成网络阻塞,宽带无法承受: 2. 解决方案 解决WCF在网络传输中的大数据量问题: A.需要把相关数据序列化成字节流,再对字节流进行压缩,再进行传输,到了客户端再做反向操作便可获得原始数据. B.如果压缩后的数据仍然较大时,可以再压缩流后,再对流进行

.Net中EF针对大数据量查询超时的一种优化

旧代码: --receiptIds   id集合,每次查1000左右 var mappingList = new List<FinanceSettlementMapping>(); mappingList.AddRange(SettlementMappingRepository.Entities.Include(o => o.ReceiptsTo).Include(d => d.FinanceSettlement).Where(d => receiptIds.Contains

[转]浅析大数据量高并发的数据库优化

链接:http://www.uml.org.cn/sjjm/201308264.asp 高并发数据库可以同时处理海量信息,应用范围很广.今天我们将讨论的是大数据量高并发的数据库优化,希望对大家有所帮助. 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性

WebService处理大数据量数据

在通过WebService处理大数据量数据时出现如下错误: soap fault: 运行配置文件中指定的扩展时出现异常. ---> 超过了最大请求长度. 解决方法: 因为上传的文件大于系统默认配置的值,asp.net web service默认的请求长度是4M. 1.针对单个项目,只需修改Web.config就可以了: 修改配置可以在web.config中重新设置,如下:<configuration><system.web><httpRuntime maxRequest

Pandas中如何处理大数据?

近期的工作和Hive SQL打交道比较多,偶尔遇到一些SQL不好解决的问题,会将文件下载下来用pandas来处理,由于数据量比较大,因此有一些相关的经验可以和大家分享,希望对大家学习pandas有所帮助吧. 大文本数据的读写 有时候我们会拿到一些很大的文本文件,完整读入内存,读入的过程会很慢,甚至可能无法读入内存,或者可以读入内存,但是没法进行进一步的计算,这个时候如果我们不是要进行很复杂的运算,可以使用read_csv提供的chunksize或者iterator参数,来部分读入文件,处理完之后

大数据量下的高并发分布式访问控制(ACL)优化方案(一)

目前的设计方案 1.1.控制计数: 在目前的项目中,有很多接口需要对访问方进行权限访问控制.目前设计方案是:利用redis集群来存储每个访问控制点的访问计数信息.Key值为=PlatformId(接入平台方)+InterfaceId(系统接口)+dayTime(日期时间),value值为当天每个时段的访问次数统计列表. 1.2.控制规则: 通过页面配置并制定控制规则.业务系统在启动时加载控制规则,并访问redis获取控制次数,然后在业务系统中做逻辑判断完成,ACL控制做请求拦截处理. 目前的痛点

解决WCF大数据量传输 ,System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接

开发中所用的数据需要通过WCF进行数据传输,结果就遇到了WCF大量传输问题 也就是提示System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接 网上解决方案都是千篇一律互相转发的,并且没有明确的解决方案或者按照,各个博客中的解决方案都没能解决这个问题. 为此我整整浪费了一天时间用来解决这个问题,而且用了最笨的办法一点点的尝试网上所查到的方案.对于精研WCF来说的这可能是一个小问题,但是对于仅仅了解wcf,一知半解的会很困惑.将解决方案贴出来希望能帮

MySQL随机获取数据的方法,支持大数据量

最近做项目,需要做一个从mysql数据库中随机取几条数据出来. 总所周知,order by rand 会死人的..因为本人对大数据量方面的只是了解的很少,无解,去找百度老师..搜索结果千篇一律.特发到这里来,供大家学习. 在mysql中带了随机取数据的函数,在mysql中我们会有rand()函数,很多朋友都会直接使用,如果几百条数据肯定没事,如果几万或百万时你会发现,直接使用是错误的.下面我来介绍随机取数据一些优化方法. SELECT * FROM table_name ORDER BY ran