大数据量的图表问题

时间:2023-01-11 23:53:27
有没有能显示大数据量的图表控件(数据点超过5000),因为一次转换为曲线图,再发到客户端,显然效率太低,等待时间过长  
不知道有没有哪个图表控件可以按需要进行加载数据?数据量较多时能自带滚动条,拖动滚动条时才加载新内容?

目前项目中用到些功能,已经合实现了,但效率很低,如果以此应该,客户体验将大打折扣,希望大伙能帮帮忙,分不是问题

16 个解决方案

#1


#2


帮顶,等结果学习!

#3


这样的我只做过静态的,动态的也想找找

#4


引用楼主 ReserveRainbow 的帖子:
有没有能显示大数据量的图表控件(数据点超过5000),因为一次转换为曲线图,再发到客户端,显然效率太低,等待时间过长  
不知道有没有哪个图表控件可以按需要进行加载数据?数据量较多时能自带滚动条,拖动滚动条时才加载新内容? 

目前项目中用到些功能,已经合实现了,但效率很低,如果以此应该,客户体验将大打折扣,希望大伙能帮帮忙,分不是问题 

你是说绘图慢
还是图片传输慢(图片需要传输过去?用<img>不行么?)

#5


Winform可以
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图


WebForm可以考虑分块的办法

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来

这样就可以在客户端滚动了

#6


你们大家好!我今天上网找javascript的一些关于姓名、电话号码、电子邮件的验证码。但是并没有找到一个比较满意的。

#7


引用 5 楼 cpio 的回复:
Winform可以 
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图 


WebForm可以考虑分块的办法 

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来 

这样就可以在客户端滚动了 


强!

#8


引用 6 楼 wangmingze09 的回复:
你们大家好!我今天上网找javascript的一些关于姓名、电话号码、电子邮件的验证码。但是并没有找到一个比较满意的。

正则表达式多的是啊

#9


是网页吗,你可以采用在客户端浏览器进行画图的方式,这样就需要将画图的数据传到客户浏览器中,而没有必要将在服务器进行画图,再将图片传到浏览器。
这样的好处以来减少服务器处理、而来提高网络传输、三来利用客户端资源。
锐浪报表就是采用这种方式,不过你需要写一个JS画图脚本,然后在浏览器获得画图数据的时候,自动调用该JS在浏览器里面画图。

#10


引用 7 楼 wadsunglow 的回复:
引用 5 楼 cpio 的回复:
Winform可以 
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图 


WebForm可以考虑分块的办法 

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来 

这样就可以在客户端滚动了 



强!


学习

#11


引用 7 楼 wadsunglow 的回复:
引用 5 楼 cpio 的回复:
Winform可以 
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图 


WebForm可以考虑分块的办法 

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来 

这样就可以在客户端滚动了 



强!


学习

#12


引用 7 楼 wadsunglow 的回复:
引用 5 楼 cpio 的回复:
Winform可以 
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图 


WebForm可以考虑分块的办法 

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来 

这样就可以在客户端滚动了 



强!


学习

#13


不晓得

#14


引用 9 楼 jerrylyj 的回复:
是网页吗,你可以采用在客户端浏览器进行画图的方式,这样就需要将画图的数据传到客户浏览器中,而没有必要将在服务器进行画图,再将图片传到浏览器。 
这样的好处以来减少服务器处理、而来提高网络传输、三来利用客户端资源。 
锐浪报表就是采用这种方式,不过你需要写一个JS画图脚本,然后在浏览器获得画图数据的时候,自动调用该JS在浏览器里面画图。

这方法我试过,传输数据不存在问题,问题在于用js在客户端绘制5000以上的点,速度同样非常慢 你可以试一下
如果有办法分块绘制可能会好些,不知道你有这方面的资料没

#15


引用 5 楼 cpio 的回复:
Winform可以 
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图 


WebForm可以考虑分块的办法 

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来 

这样就可以在客户端滚动了 


这个办法不错,但具体怎么分块,分块了以后,如何把绘制的图拼在一起?

#16


引用 3 楼 shenlinsheng 的回复:
这样的我只做过静态的,动态的也想找找

静态的是怎么做的   目前我也只是想实现静态的,能介绍一下吗

#1


#2


帮顶,等结果学习!

#3


这样的我只做过静态的,动态的也想找找

#4


引用楼主 ReserveRainbow 的帖子:
有没有能显示大数据量的图表控件(数据点超过5000),因为一次转换为曲线图,再发到客户端,显然效率太低,等待时间过长  
不知道有没有哪个图表控件可以按需要进行加载数据?数据量较多时能自带滚动条,拖动滚动条时才加载新内容? 

目前项目中用到些功能,已经合实现了,但效率很低,如果以此应该,客户体验将大打折扣,希望大伙能帮帮忙,分不是问题 

你是说绘图慢
还是图片传输慢(图片需要传输过去?用<img>不行么?)

#5


Winform可以
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图


WebForm可以考虑分块的办法

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来

这样就可以在客户端滚动了

#6


你们大家好!我今天上网找javascript的一些关于姓名、电话号码、电子邮件的验证码。但是并没有找到一个比较满意的。

#7


引用 5 楼 cpio 的回复:
Winform可以 
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图 


WebForm可以考虑分块的办法 

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来 

这样就可以在客户端滚动了 


强!

#8


引用 6 楼 wangmingze09 的回复:
你们大家好!我今天上网找javascript的一些关于姓名、电话号码、电子邮件的验证码。但是并没有找到一个比较满意的。

正则表达式多的是啊

#9


是网页吗,你可以采用在客户端浏览器进行画图的方式,这样就需要将画图的数据传到客户浏览器中,而没有必要将在服务器进行画图,再将图片传到浏览器。
这样的好处以来减少服务器处理、而来提高网络传输、三来利用客户端资源。
锐浪报表就是采用这种方式,不过你需要写一个JS画图脚本,然后在浏览器获得画图数据的时候,自动调用该JS在浏览器里面画图。

#10


引用 7 楼 wadsunglow 的回复:
引用 5 楼 cpio 的回复:
Winform可以 
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图 


WebForm可以考虑分块的办法 

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来 

这样就可以在客户端滚动了 



强!


学习

#11


引用 7 楼 wadsunglow 的回复:
引用 5 楼 cpio 的回复:
Winform可以 
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图 


WebForm可以考虑分块的办法 

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来 

这样就可以在客户端滚动了 



强!


学习

#12


引用 7 楼 wadsunglow 的回复:
引用 5 楼 cpio 的回复:
Winform可以 
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图 


WebForm可以考虑分块的办法 

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来 

这样就可以在客户端滚动了 



强!


学习

#13


不晓得

#14


引用 9 楼 jerrylyj 的回复:
是网页吗,你可以采用在客户端浏览器进行画图的方式,这样就需要将画图的数据传到客户浏览器中,而没有必要将在服务器进行画图,再将图片传到浏览器。 
这样的好处以来减少服务器处理、而来提高网络传输、三来利用客户端资源。 
锐浪报表就是采用这种方式,不过你需要写一个JS画图脚本,然后在浏览器获得画图数据的时候,自动调用该JS在浏览器里面画图。

这方法我试过,传输数据不存在问题,问题在于用js在客户端绘制5000以上的点,速度同样非常慢 你可以试一下
如果有办法分块绘制可能会好些,不知道你有这方面的资料没

#15


引用 5 楼 cpio 的回复:
Winform可以 
把这5000个点的数据发过去,最多几十k而已,在那边进行绘图 


WebForm可以考虑分块的办法 

比如分成200*200大小的图,每次取的时候会传入要取的区域,服务器只查询这个区域的数据,生成图片,传出来 

这样就可以在客户端滚动了 


这个办法不错,但具体怎么分块,分块了以后,如何把绘制的图拼在一起?

#16


引用 3 楼 shenlinsheng 的回复:
这样的我只做过静态的,动态的也想找找

静态的是怎么做的   目前我也只是想实现静态的,能介绍一下吗