Quantcast
Channel: OxyPlot (moved to GitHub)
Viewing all 2061 articles
Browse latest View live

Commented Unassigned: DateTime Axis constructor has multiple definitions with identical signatures [10175]

$
0
0
The DateTime Axis constructor has multiple definitions with identical signatures due to the optional signatures.

For example:
New DateTimeAxis(byval This as Double) is equivalent to New DateTimeAxis(byval That as double, byval OptionalThis as double = 2)

Anyone, like myself, trying to use a DateTimeAxis in visual basic will be unable to do so because intellisense will not allow it due to the multiple definitions with equivalent signatures.
Comments: Thank you. Your changes cleared up the issue. Thanks for the great plotting library.

Created Unassigned: PathAnnotation.Render doesn't always render text [10177]

$
0
0
The easiest way to see this bug is to look at the 'LineAnnotation on linear axes' example (the very first one) and resize the window. Watch the 'Vertical' text and you should see that it flickers on and off as you reseize the window.

After looking at the source I think the bug is in `PathAnnotation.Render` when it calls `rc.DrawClippedLine(..., null, pts => clippedPoints = pts)`. The `pointsRendered` callback can be called multiple times with the same list. Since it's using that list directly, the final value of `clippedPoints` simply reflects the value of the `outputBuffer` from `RenderingExtensions.DrawClippedLine` which is periodically cleared and rebuilt during the `DrawClippedLine` call.

My best guess for the fix is to pass a real list (not null) for the `outputBuffer` parameter and use that instead of the `pointsRendered` callback in `PathAnnotation.Render`.

Source code checked in, #202361b2c182

$
0
0
CategoryAxis: make Labels property read only

Commented Unassigned: PathAnnotation.Render doesn't always render text [10177]

$
0
0
The easiest way to see this bug is to look at the 'LineAnnotation on linear axes' example (the very first one) and resize the window. Watch the 'Vertical' text and you should see that it flickers on and off as you reseize the window.

After looking at the source I think the bug is in `PathAnnotation.Render` when it calls `rc.DrawClippedLine(..., null, pts => clippedPoints = pts)`. The `pointsRendered` callback can be called multiple times with the same list. Since it's using that list directly, the final value of `clippedPoints` simply reflects the value of the `outputBuffer` from `RenderingExtensions.DrawClippedLine` which is periodically cleared and rebuilt during the `DrawClippedLine` call.

My best guess for the fix is to pass a real list (not null) for the `outputBuffer` parameter and use that instead of the `pointsRendered` callback in `PathAnnotation.Render`.
Comments: Here's a better fix recommendation for `PathAnnotation.Render`: ``` C# var clippedPoints = new List<ScreenPoint>(); ... rc.DrawClippedLine( this.screenPoints, clippingRectangle, MinimumSegmentLength * MinimumSegmentLength, this.GetSelectableColor(this.Color), this.StrokeThickness, dashArray, this.LineJoin, this.aliased, null, pts => clippedPoints.AddRange(pts)); ```

Source code checked in, #0b9774190337

$
0
0
CategoryAxis: add ActualLabels property

Source code checked in, #e01fe440588e

Closed Unassigned: DateTime Axis constructor has multiple definitions with identical signatures [10175]

$
0
0
The DateTime Axis constructor has multiple definitions with identical signatures due to the optional signatures.

For example:
New DateTimeAxis(byval This as Double) is equivalent to New DateTimeAxis(byval That as double, byval OptionalThis as double = 2)

Anyone, like myself, trying to use a DateTimeAxis in visual basic will be unable to do so because intellisense will not allow it due to the multiple definitions with equivalent signatures.

Closed Task: Remove constructors with parameters [10103]

$
0
0
To be compatible with VB.NET?
see [discussion:471973]

How to reproduce this error?

Removing constructors this will be a breaking change...

Created Unassigned: plotting lineSeries behaving strangely.. [10178]

$
0
0
I am plotting an FFT with about 480,000. points. I am using a line series.

If I plot the magnitude of the fft it plots very quickly with no problems.

if instead, before I define the lineSeries I for loop through the data series and change each data point to dB using 20*Math.log10(y/refVal). The plot freezes the UI and never updates and never plots. same number of points just different Y values.

The only thing I can think of to explain this is perhaps the dB version of the data is more chaotic meaning it jumps around a lot more. where the linear data is much more predictable.

I'm not sure what the line generation algorithm is but I could imagine something like this bogging down some sort of interpolator or curve fitting. but It was my understanding that lineSeries did not do any of this.

any thoughts?! thank you

Commented Unassigned: plotting lineSeries behaving strangely.. [10178]

$
0
0
I am plotting an FFT with about 480,000. points. I am using a line series.

If I plot the magnitude of the fft it plots very quickly with no problems.

if instead, before I define the lineSeries I for loop through the data series and change each data point to dB using 20*Math.log10(y/refVal). The plot freezes the UI and never updates and never plots. same number of points just different Y values.

The only thing I can think of to explain this is perhaps the dB version of the data is more chaotic meaning it jumps around a lot more. where the linear data is much more predictable.

I'm not sure what the line generation algorithm is but I could imagine something like this bogging down some sort of interpolator or curve fitting. but It was my understanding that lineSeries did not do any of this.

any thoughts?! thank you
Comments: Sorry if this question is in the wrong place i can move it... sorry i forgot to add some information.. windows 8 new bottom of the line laptop windows forms C# app. The code I am using to plot is shown below.... ar plotModel2 = new PlotModel(); plotModel2.Title = "LineSeries, 100k points"; var linearAxis3 = new LinearAxis(); linearAxis1.Position = AxisPosition.Bottom; plotModel1.Axes.Add(linearAxis1); var linearAxis4 = new LinearAxis(); plotModel1.Axes.Add(linearAxis2); var lineSeries2 = new LineSeries(); // I have an array of complex values called cdata representing the complex fft points (y axis) with 480,000 elements. int myloopcount =0; while (myloopcount < datalength) { double tempe; tempe = Math.Abs(cdata[myloopcount].Magnitude*TheWaves.conversionFactor); tempe = (.707*(tempe*2/datalength)); // if I comment out the line below it plots quickly.. with it uncommented it hangs the UI an never //comes back. sometimes Visual studio pops something up about wating for a thread but Im not // sure what that means. tempe = Math.Abs(20*Math.Log10(tempe/1e-6)); double myYF = tempe; lineSeries2.Points.Add(new DataPoint(myloopcount/T, myYF)); myloopcount++; }// end while loop plotModel2.Series.Add(lineSeries2); this.plot2.Model = plotModel2;

Commented Unassigned: plotting lineSeries behaving strangely.. [10178]

$
0
0
I am plotting an FFT with about 480,000. points. I am using a line series.

If I plot the magnitude of the fft it plots very quickly with no problems.

if instead, before I define the lineSeries I for loop through the data series and change each data point to dB using 20*Math.log10(y/refVal). The plot freezes the UI and never updates and never plots. same number of points just different Y values.

The only thing I can think of to explain this is perhaps the dB version of the data is more chaotic meaning it jumps around a lot more. where the linear data is much more predictable.

I'm not sure what the line generation algorithm is but I could imagine something like this bogging down some sort of interpolator or curve fitting. but It was my understanding that lineSeries did not do any of this.

any thoughts?! thank you
Comments: sorry it appears I have messed up the code... hope it is still readable

Edited Unassigned: plotting lineSeries behaving strangely.. [10178]

$
0
0
please ignore the first comment below.. I added it to the bottom of the issue..

I am plotting an FFT with about 480,000. points. I am using a line series.

If I plot the magnitude of the fft it plots very quickly with no problems.

if instead, before I define the lineSeries I for loop through the data series and change each data point to dB using 20*Math.log10(y/refVal). The plot freezes the UI and never updates and never plots. same number of points just different Y values.

The only thing I can think of to explain this is perhaps the dB version of the data is more chaotic meaning it jumps around a lot more. where the linear data is much more predictable.

I'm not sure what the line generation algorithm is but I could imagine something like this bogging down some sort of interpolator or curve fitting. but It was my understanding that lineSeries did not do any of this.

any thoughts?! thank you

windows 8
new bottom of the line laptop
windows forms C# app.

The code I am using to plot is shown below....



```
var plotModel2 = new PlotModel();
plotModel2.Title = "LineSeries, 100k points";
var linearAxis3 = new LinearAxis();
linearAxis1.Position = AxisPosition.Bottom;
plotModel1.Axes.Add(linearAxis1);
var linearAxis4 = new LinearAxis();
plotModel1.Axes.Add(linearAxis2);
var lineSeries2 = new LineSeries();

// I have an array of complex values called cdata representing the complex fft points (y axis) with 480,000 elements.
int myloopcount =0;
while (myloopcount < datalength)
{
double tempe;

tempe = Math.Abs(cdata[myloopcount].Magnitude*TheWaves.conversionFactor);
tempe = (.707*(tempe*2/datalength));

// if I comment out the line below containing log10 it plots quickly.. with it uncommented it hangs the UI an never comes back. sometimes Visual studio pops something up about wating for a thread but Im not sure what that means.

tempe = Math.Abs(20*Math.Log10(tempe/1e-6));


double myYF = tempe;

lineSeries2.Points.Add(new DataPoint(myloopcount/T, myYF));

myloopcount++;

}// end while loop

plotModel2.Series.Add(lineSeries2);
this.plot2.Model = plotModel2;
```

Source code checked in, #f364824ed43a

$
0
0
#10176 PlotModel: remove AutoAdjustPlotMargins - use PlotMargins property instead, set to NaN to auto adjust a margin

Closed Unassigned: Remove AutoAdjustPlotMargins [10173]

$
0
0
This property can be redundant if the definition of `PlotMargins` is changed.
Set the default `PlotMargins = (NaN,NaN,NaN,NaN)`, this should match `AutoAdjustPlotMargins = true`.
When a margin is NaN, the margin should be auto adjusted.
The `ActualPlotMargins` contains the actual values.

Source code checked in, #0e9bdff67cc5

$
0
0
Correct WinForms compilation errors

Source code checked in, #ac3889b02868

$
0
0
Correct Silverlight compilation error

Source code checked in, #1b611e85695b

New Post: Programmatically add graph to XAML form C#

$
0
0
You can add to the Model of your Plot then:
MyPlot1.Model.Series.Add(ls);
You should be using templates and bind a collection of PlotModels to a custom UserControlm

New Post: How to hide scale values that show on X and Y axis

$
0
0
I have created a graph using OxyPlot but I don't want the scale values to show on X and Y axis. I want the gridlines to show so I don't want to hide the axes itself but just the values that show on axes. Anybody has any ideas?

Commented Unassigned: PathAnnotation.Render doesn't always render text [10177]

$
0
0
The easiest way to see this bug is to look at the 'LineAnnotation on linear axes' example (the very first one) and resize the window. Watch the 'Vertical' text and you should see that it flickers on and off as you reseize the window.

After looking at the source I think the bug is in `PathAnnotation.Render` when it calls `rc.DrawClippedLine(..., null, pts => clippedPoints = pts)`. The `pointsRendered` callback can be called multiple times with the same list. Since it's using that list directly, the final value of `clippedPoints` simply reflects the value of the `outputBuffer` from `RenderingExtensions.DrawClippedLine` which is periodically cleared and rebuilt during the `DrawClippedLine` call.

My best guess for the fix is to pass a real list (not null) for the `outputBuffer` parameter and use that instead of the `pointsRendered` callback in `PathAnnotation.Render`.
Comments: thanks for the bug report and the fix! I hadn't noticed this!
Viewing all 2061 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>