I have two issues when setting the MaximumMarkers on a ScatterLineSeries chart.
1) Once the marker limit has been reached additional data points are plotted without markers instead of the existing markers being redistributed. See sample 1 below:
2) The marker placement needs to be more consistant / uniform. Markers may be bunched together in one area while another section does not have any markers. See sample 2 below:
Sample 1
Sample 2
For 1)
If you are adding the points over time, and reach the marker limit. (I assume you have it set pretty low from that screenshot?) The series prefers to show the same markers as last time it updated for performance reasons, and to prevent markers from being completely randomly rechosen. This latter part is important because if you zoom into the chart, its rather jarring if it reselects completely different points at each zoom level. But if I understand your use case correctly, it is giving you rather annoying behavior. Perhaps it would help if you had a property to force it completely repick each time? You won't see this behavior if you have maximum markers set sufficiently that it can select enough to fill the whole screen.
For 2)
There is an element of randomness to how it selects the markers to prevent unpleasant artifacts from occuring compared to if it were simpling sampling your markers at a constant rate from the source collection. This can result in bunching, and sparseness, but the algorithm tries to avoid picking points that are too close to one another. You can adjust this closeness by modifying the Resolution property of the series.
If you want to have complete control over how often the chart draws markers on a line like this, one way you can go about it, is to have a seperate scatter series, where you enter only the points you would like it to display, and make sure that MaximumMarkers is set sufficiently that all points can render.
The algorithms we use try to pick points that are interesting to show (non-overlapping and in diverse regions of the chart surface). And try to avoid reselecting different points each successive time the chart is rendered. If you have use cases that cause the markers to behave in odd ways, It would be useful if you could provide a sample project and make a feature request, and we can see what else we can do to better support the scenario.
If there is something going on that seems erroneous, we'll file a bug report and take it from there.
-Graham
For sample 1 the max markers was set to 25 and initially covered the chart until new data shifted them left. The behavior I was expecting to see when all markers were used and new points were added would be that the markers would be redistributed to include some new data points. What property can be used to force chart to repick?
For sample 2 the resolution doesn't seem to have much effect on the marker placement. Appears to primarly affect the line. Not sure if adding a separate series with subset of points would work since we would need to be able to zoom in on any point.
Hello,
I am just checking if you had a chance to try out Graham's suggestions and if after that you still require any assistance on the matter.
I don't believe the suggestions by Graham is what I am looking for. I bascially would like to have the markers on a ScatterLineSeries chart behave similar to the LineSeries chart. When displaying realtime data the LineSeries chart is able to display a good quantity of markers while spacing them well. I can adjust the MaximumMarkers when my chart is resized but need to be able to have the chart repick markers as new data is recieved and evenly distribute them so there are not any gaps or markers bunched together.
I have looking into your requirement and there doesn’t seem to be any other option since this hasn’t been intended to be implemented. After some research, this has been determined to be a new feature request. I have sent your feature request directly to our product management team. Our product team chooses new feature requests for development based on popular feedback from our customer base. Infragistics continues to monitor application development for all of our products, so as trends appear in requested features, we can plan accordingly.
We value your input, and our philosophy is to enhance our toolset based on customer feedback. If your feature is chosen for development, you will be notified at that time. Your reference number for this feature request is FR13580.
If you would like to follow up on your feature request at a later point, you may contact Developer Support management via email. Please include the reference number of your feature request in the subject and body of your email message. You can reach Developer Support management through the following email address: dsmanager@infragistics.com
I just wanted to point that there is always the option of reset the Series ItemsSource properties or the Series themselves to get the marker to redraw, however you would have to choose on a time frame, based on your data, which wouldn’t influence your application’s performance.