Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
335
How can I prevent the data points from ever hiding?
posted

They key piece is that: markers must only be shown when all the data points are visible.

There appears to be some hard-coded marker width that determines when to hide the markers. The attached code shows that a skinny line marker gets hidden at the same time as the circle markers (when resizing the width of the window).

The closeness of our data points (within our actual project) are barely out of the resolution of the chart for zooming in such that the points are sufficiently far enough apart that guarantees prevention of the chart hiding the data points.Therefore permanently preventing the points from ever being hidden is our best option. And this is viable because we are already doing our own down-sampling to a handful of points (the chart only ever sees 1000 points).

The second option 'brute-force' option would be to recompile the source with an adjusted hard-coded marker width which would fix the issue as well (given your help on locating this hard-coded constant).

Any ideas on how to accomplish this?

InfragisticsXamDataChartTest.zip
Parents
  • 34510
    Offline posted

    Hi Will,

    I took a look at the source code to see if I could find out how we are handling marker hiding and I believe I've found the code in question.  When the markers are being prepared, it looks through all the possible markers and runs them through a collision method to see if they collide with any other markers.  If they do, it skips that marker and moves on to the next one.  All markers that avoid collision are passed on for rendering.  I didn't see any settings that would allow users to control this behavior so I don't think it's something you can disable without modifying the source code.  I recommend that you add this as a new product idea for the chart here: http://ideas.infragistics.com.

    If you are up for modifying the source code then the code in question is located in CategoryFramePreparer.cs inside the PrepareMarker method.  You will see an if check and at the end you will see a collisionAvoider.TryAdd method.  If this returns true, it will add the marker.  If you want all markers to be visible regardless of whether they overlap with each other you should be able to remove that TryAdd method from the if check.  Obviously there are disadvantages to modifying the source code, the main one being that you are now responsible for maintaining any changes you made as once we release a new patch, your changes will no longer be present when you update.

Reply Children