I call MyPlot.InvalidatePlot(true); from the main GUI thread. If my understanding is correct, InvalidatePlot works on another thread. Presumeably, it must get back on the GUI thread to actually plot data. I tried using the following:
Mouse.OverrideCursor = Cursors.Wait;
Mouse.OverrideCursor = null;
and other similar ideas but to no avail. I'm guessing that InvalidatePlot is a non blocking call. What I really need to do is switch to Cursors.Wait and then in some event, set the cursor back again. I was hoping for something like:
MyPlot.RenderingCompleted or some such thing. Can someone give me some pointers?
The X axis is time, and data points are added in real time. The default behaviour seems (I did nothing but calling InvalidatePlot(true)) showing all data points by shrinking the entire graph. This is not what I want.
What I want is keeping the current scale (whichever the user has set by his/her mouse wheel) of the X axis as it is, and scrolling to the rightmost when new data points are added. Note that the data points are not added in the exactly same time interval. That is, one can be added at 0:01, the next one at 0:03 and the next one at 0:04.
Is this possible? I tried to set Minimum (users may scroll horizontally to the left before the first visible data point) and Absolute Maximum (users are not allowed to scroll horizontally to the right beyond the last data point) but it still was shrinking.
I would like to know if there is an easy way to create multiple subplots in a single PlotModel.
Obviously I can just create several PlotModels and achieve something similar, but is there a better more elegant way to do it?
I'm using the current version of Oxyplot.Silverlight. By the way, thx for this great library!
I have a CategoryAxis with 2 stacked column series. They can contain very few items (<10) or a lot of items(>50). The Plotview/x-axis should cover the whole available drawing area, but if there are less than 10 items, the columns get stretched which looks very ugly. Counterwise, if there are more than 50 values, the items are way too thin, so the labels overlap. I already used rotated labels with an angle of 90°.
I did not found a way to force the column width to a specified value without shortening the x-axis too. I already tried ColumnSeries.ColumnWidth and CategoryAxis.IntervalLength, but they didn't work out as expected.
Am I missing something?
Thx in advance for your help.
I'm using OxyPlot 2014.1.546.0 in a WPF project. I've 10 stairstep series with each ~11000 Points.
To increase performance I want to render only every nth point depending of the zoom?
Eg: Render every 10th point if I see the whole x-Axis and render every 5th point if I see the half of the x-Axis, and so on?
Thanks for your help in advance.
I have a requirement of being able to select individual columns in a column chart to access related data; however, none of my attempts at handling selection changed or mouse down produced any viable results. SelectionChanged event doesn't even fire for me and no visible selection happens. SelectionColor for the model does not appear to do anything and SelectionMode doesn't produce any visible behavior with selection enabled in the ColumnSeries.
Customer support service by UserEcho