Comments (11)
Thank you for the detailed explanation. Just step 4 might be better defined as "zoom with mouse scroll wheel".
Indeed the selection area drag is able to refresh its content successfully. So I think the zoom bug may not be that difficult to fix ...if a brave & knowledgeable volunteer has time to dive in.
from echarts.
This also happens to me even if I only have 10,000 points. After any re-rendering, only a few of the originally selected ones remain.
And re-rendering begins to occur when you zoom in/zoom out or simply even if you click on any icon of the Toolbox panel.
from echarts.
official example has large:true
and works fine. Any reason why you want to disable optimization with large ?
from echarts.
official example has
large:true
and works fine. Any reason why you want to disable optimization with large ?
Yes. The obvious reason. Brush selection doesn't work with large: true
at all. I mean you can paint with brush selection tool. But with no effect. No data in event, no style changes.
from echarts.
ok, agree, related to #17079 and #9945
BTW all points seem to be showing (tooltip present), but some are not highlighted.
from echarts.
ok, agree, related to #17079 and #9945 BTW all points seem to be showing (tooltip present), but some are not highlighted.
Not highlighted and not present in event. BTW tried scatterGL and it is not supporting selection too. So basically there is no option to brushselect on large amount of data and have any perfomance option enabled.
from echarts.
- progressive re-rendering takes place
Looks like disabling progressive thru progressiveThreshold fixes the zoom problem - Demo.
So basically there is no option to brushselect on large amount of data and have any perfomance option enabled.
Agree.
from echarts.
Looks like disabling progressive thru progressiveThreshold fixes the zoom problem - Demo.
It is clear that this will solve the issue. Problems initially sounded like problems with progressive rendering. In your example there are 5000 points so it works well. In my application for example we need to display up to 100,000 points (or 150,000 points) and be able to select them and zoom in/zoom out this brush area. Performance for 100 000 points with progressive rendering is satisfactory, but the fact that the selected dots disappear during Zoom - this is a blocker for us.
In my opinion this is a progressive rendering error with brush area. Because if you move the selection area even just a little, all the points are immediately selected correctly. Also if I click on "Keep selections" and select additionally some empty area, it will also correct the currently selected brush area and display all the points correctly.
So these actions trigger some internal events of ECharts that force it to render the selected area correctly. And zoom does not trigger these processes during rendering (progressive rendering).
If we can’t fix it, then at least find what event needs to be dispatched after Zoom In/Out to force ECharts to render correctly all points in the selected area and get the correct list of selected points in "brushSelected" event.
from echarts.
...if you move the selection area even just a little, all the points are immediately selected correctly.
@DespotMagic, frankly I cannot reproduce your findings.
What would be helpful is to update the Demo (more data, add dataZoom?) and explain the steps on how to reproduce the problem.
from echarts.
@DespotMagic, frankly I cannot reproduce your findings. What would be helpful is to update the Demo (more data, add dataZoom?) and explain the steps on how to reproduce the problem.
@helgasoft thank you for trying to help) This can be easily reproduced using the example from ilius33 #19857 (comment). We are taking the same steps that ilius33 indicated. And then we just move (drag) the area with the mouse.
Steps:
- jump to minimum example
- enable selection tool
- select some points
- zoom or select another selection tool
- ❗ AR: only few points remain selected (current problem described in this bug)
- move (drag) the selected area with the mouse
- AR: All points within brushed zones remain selected 👌.
Example for 100,000 points on video
There you can see the problem: how the points are not rendered after Zoom. and how everything rendered corrected (all selected points) if I drag the selection area a little.
from echarts.
On reflection and looking from a different perspective - zoom and brush seem to be completely unrelated actions in ECharts.
As seen in the example, selected area size does not change on zoom. But it should, if zoom and brush-select were integrated!
My guess is that brush-select is pixel(canvas) based, and zoom is based on chart coordinates, so they are incompatible.
Brush-select is also an isolated, singular event and its result does not persist in further chart manipulations like pan and zoom.
from echarts.
Related Issues (20)
- [Feature] Is there any copyright restriction on the China map in your source code? HOT 1
- [Bug] Radar line under area
- [Feature] Tooltips on line series - also show on line segments HOT 3
- minMargin 的用法在文档里面为什么搜不到? HOT 2
- [Feature] Make sankey diagram dragable and be able to zoom in/out HOT 1
- xAxis.axisLabel. formatter渲染时会运行两遍 HOT 1
- The picture size of series.tree.symbol is wrong in svg render,but normal in canvas render.(svg渲染模式下树图节点图片尺寸被压缩) HOT 2
- [Feature] Implementing examples from library to knime HOT 1
- [Feature] graphic组件如何超出坐标系自动隐藏
- [Bug] x轴和y轴都是数值的情况下,怎么配置才能保证坐标是1:1的刻度比例? HOT 3
- [Bug] Stacked lines aren't spaced properly on the x axis
- [Bug] 在rich配置中 图片跟文字没有层级关系吗? HOT 1
- [Bug] When rich is used in the legend of a pie chart, some styles will not take effect. HOT 1
- [Feature] 1111
- [Feature] 基于appendData可以海量增量更新数据,目前还需要海量覆盖更新数据 HOT 1
- [Bug] Stacked bar graph with overlapping bar breaks when having only 2 data points HOT 4
- [Bug] 手机端 使用ecahrts contextmenu 点击事件无法获取 HOT 3
- [question] 折线图的起始位置如何做偏移 HOT 1
- 图表tooltip联动的bug HOT 1
- [Feature] built-in and direct support of error bar
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from echarts.