Re: [问题] bokeh与matplotlib, 交互式图片

楼主: iamfenixsc (哈囉你好吗)   2020-03-10 17:09:33
※ 引述《iamfenixsc (哈囉你好吗)》之铭言:
: 大家好
: 最近做研究要把sensor收集到的资料画交互式折线图
: 但是由于收到的资料量都很大 (因为sensor每秒就一百多笔)
: 一个6小时多的资料大概就29万多个资料点
^^^^
这边当时讲错了,应该是297万资料点才对 位数看错 囧
: 使用bokeh画图之后用网页打开,图片没问题,但是
: 1.超级吃资源(只开这个页面就用掉1.4GB RAM)
: 2.超级慢 (打开网页到图出来要超过5分钟,局部放大或是任何互动都要等20秒)
: 但是我用matplotlib.pyplot
: 用同一笔资料,打开视窗的速度跟开启之后的互动情形都好很多
: (打开不用1分钟,互动延迟不到0.5秒)
: 问题是matplotlib的交互式图片就不知道要怎么弄到网页上...
: 不知道有没有大神可以指引一下这种大规模资料要画交互式图片嵌在网页上
: 有没有什么推荐的工具?
感谢1.2楼推文的两位大大建议
我都有采用 然后实际画出,分享给大家参考
先讲2楼的bokeh +webGL加速结果
参照这个网页上的做法
https://docs.bokeh.org/en/latest/docs/user_guide/webgl.html
刚开始打开的时候会直接整片都是颜色,看起来像是当掉
但是操作一次局部放大(几乎没放大可以,但就是要动)就可以开始正常交互式图片
非常有感,用webGL之后快上很多,但是297万资料点真的还是太多了
实际上用起来还是卡卡的,但还算堪用
再来是一楼的plotly+webGL套件
参考的code如下
https://plot.ly/python/webgl-vs-svg/#webgl-with-1-million-points
用起来也是有感比较快
一样问题,297万点太多了,还是卡卡
但是一样用webGL加速,但是Bokeh使用起来顺畅度比plotly好上不少
100万以下的资料点可能差异不大,两边都算顺 但是资料量在上去
用bokeh + webGL是一个比较好的选择
目前还没测试超过300万点的资料拉
以上一点经验分享,谢谢大家
作者: ddavid (谎言接线生)   2020-03-10 17:29:00
这样的话,也许可以考虑背后先做分群,然后一开始只秀群中心,放大以后才换成显示点之类的?

Links booklink

Contact Us: admin [ a t ] ucptt.com