Oxyplot v2.1.0-Preview1 Release Notes
Release Date: 2020-10-18 // over 1 year ago-
โ Added
- Made Legend Items clickable to toggle series visibility (#644)
- โ Added properties LegendKey and SeriesGroupName to Series, allowing grouping series between multiple legends and/or within same legend (#644)
- OxyPlot.ImageSharp (#1188)
- ๐ป WPF ExampleBrowser can display transposed versions of examples (#1402)
- ๐ Support for transposable Annotations (#1417)
- ๐ Support for NET40 (#1452)
- ๐ Support for high DPI for WPF (#149)
- EdgeRenderingMode property to PlotElement, allowing customization of the way edges are treated by the renderer (#1428, #1358, #1077, #843, #145)
- Color palettes Viridis, Plasma, Magma, Inferno and Cividis (#1505)
- Renderer based on SkiaSharp, including exporters for PNG, JPEG, PDF and SVG (#1509)
- Example for Issue #1524: HitTracker IndexOutOfRangeException with HeatMapSeries
- ๐ Text shaping support to SkiaRenderContext (#1520)
- PlotView based on SkiaRenderContext (OxyPlot.SkiaSharp.Wpf) (#1515)
- ๐ DrawImage support to OxyPlot.ImageSharp (#1530)
- ๐ Dpi support to OxyPlot.ImageSharp (#1530)
- ๐ Dash support to OxyPlot.ImageSharp
- ๐ Clipping support to OxyPlot.ImageSharp
- JpegExporter for OxyPlot.ImageSharp
- Multi-line aligned text rendering example
- ๐ WindowsForms ExampleBrowser can display transposed versions of examples (#1535)
- Example for Issue #1545 showing the use of different line endings
- ๐ Support for unix line endings in OxyPlot.ImageSharp, OxyPlot.Svg, and OxyPlot.Pdf (#1545)
- ๐ Multi-Line Text support to SkiaRenderContext (#1538)
- โ Added title clipping to PlotModel (#1510)
- โ Added LabelStep and LabelSpacing to contour series (#1511)
- Example for Issue #1481 showing text rendering with emoji
- Native Clipping for OxyPlot.SvgRenderContext (#1564)
- Examples of full plot area polar plots with non-zero minimums (#1586)
- Read-Only collection interfaces for .NET 4.0 (#1600)
- โ Add PlotModel.AssignColorsToInvisibleSeries property to control whether invisible series are included or skipped when assigning automatic colors (#1599)
- Overlapping bar series (#1265)
AxisPosition.All
for axes which need a margin on all sides of the plot area (#1574)- IRenderContext.ClipCount property (#1593)
- โ Additional parameters for HistogramSeries LabelFormatString
- Absolute screen-space axis margins (#1569)
- netstandard2.0 TargetFramework (#1668)
- โ Add a PlotView.TextMeasurementMethod property to allow using the much faster GlyphTypeface based measurement at runtime (#1673)
- OxyPlot.Wpf.XamlRenderContext - this doesn't use StreamGeometry and can be used for rendering to XAML (#1673)
- SkiaRenderContext.MiterLimit property (#1690)
- Example for Issue #1685 showing spurious lines in the ContourSeries
๐ Changed
- Legends model (#644)
- 0๏ธโฃ Default behaviour is now plot without Legend (#644)
- ๐ Moved WPF Plot component to Oxyplot.Contrib.Wpf (#1399)
- ErrorColumnSeries changed to ErrorBarSeries, also works in transposed mode (#1402)
- ๐ Moved reporting functionality to separate projects (#1403)
- ๐ Moved reporting functionality to oxyplot-reporting repository (#1403)
- ๐ Change IPlotModel.Render to take an OxyRect (#1425)
- ๐ Merge UIElement and SelectableElement into Element (#1426)
- โฌ๏ธ Upgrade to .NET Core 3.1 (#1488)
- DrawRectangle(...), DrawLine(...), DrawEllipse(...), DrawPolygon(...) and related overloads in IRenderContext and related extensions in RenderingExtensions now require an EdgeRenderingMode
- 0๏ธโฃ Default color palette for LinearColorAxis from Jet to Viridis (#1505)
- Extract most of the functionality from OxyPlot.Wpf into OxyPlot.Wpf.Shared to allow code sharing with other WPF PlotViews (#1515)
- ๐ป WPF ExampleBrowser can switch between Canvas and SkiaSharp renderers (#1515)
- OxyPlot.ImageSharp now targets .NET Standard 1.3 (#1530)
- SkiaRenderContext does not apply pixel snapping when rendering to vector graphic (#1539)
- Mark OxyPlot.PdfExporter and OxyPlot.Pdf.PdfExporter as obsolete (#1527)
- Replace Axis.DesiredSize by Axis.DesiredMargin, change signature of Axis.Measure(...) (#453)
- Axis renderers now render all ticks they are provided (#1580)
- ๐ Auto margins don't reserve space for axis labels if axis range is fixed (#1577)
- CategoryAxis should not contain rendering information about BarSeries (#741)
- CategorizedSeries changed to BarSeriesBase (#741)
- โก๏ธ System.Drawing.Common references updated to 4.7.0 (#1608)
- ๐ง Invisible series are assigned automatic colors by default, configurable with PlotModel.AssignColorsToInvisibleSeries property that defaults to true (#1599)
- StemSeries, AreaSeries, TwoColorAreaSeries, and StairStepSeries use
ActualMarkerColor
(#1630) - Axes with
AxisPosition.None
make no contribution to margins (#1574) - 0๏ธโฃ
AngleAxis
has positionAxisPosition.All
by default (#1574) - Clipping API changed from SetClip(...) and ResetClip() to PushClip(...) and PopClip() (#1593)
- โ Remove TileMapAnnotation examples from automated testing (#1667)
- โก๏ธ Optimize clipping calls (#1661)
- Mark CandleStickAndVolumeSeries as obsolete (#1661)
- Implement StreamGeometry-based implementations of DrawEllipses, DrawLine, DrawLineSegments and DrawRectangle(s) which improves the rendering speed on WPF (#1673)
- ๐ Change algorithm of ContourSeries.JoinContourSegments(). This should improve performance in most cases, but will cause labels to appear in different spots than before (#1685)
โ Removed
- โ Remove PlotModel.Legends (#644)
- ColumnSeries - functionality is replaced by transposed BarSeries (#1402)
- Copy to text report Ctrl+Alt+R (#1403)
- โ Remove exporter Background properties (#1409)
- โ Remove OxyThickness Width and Height properties (#1429)
- RenderingExtensions.DrawRectangleAsPolygon(...) extension methods. IRenderContext.DrawRectangle(...) with an appropriate EdgeRenderingMode can be used instead.
- SkiaSharp.PdfExporter.Dpi property (#1591)
- โก๏ธ Axis.UpdateFromSeries(...) and Series.UpdateValidData() (#741)
- ๐ Support for IRenderContext implementations without native clipping (#1593)
- CohenSutherlandClipping and SutherlandHodgmanClipping (#1593)
- DrawClippedXxx(...) extensions in RenderingExtensions (#1661)
- PathAnnotation.ClipText property - text is now always clipped (#1661)
- CanvasRenderContext.UseStreamGeometry property - this functionality is replaced by the new XamlRenderContext (#1673)
๐ Fixed
- 0๏ธโฃ Legend font size is not affected by DefaultFontSize (#1396)
- ErrorBarSeries, IntervalBarSeries and TornadoBarSeries work correctly in transposed mode (#1402)
- ๐ป Exception when rendering polygon with no points (#1410)
- ๐ป Custom tracker strings can cause exception in histogram chart (#1455)
- ๐ OxyPlot.WindowsForms package description (#1457)
- NullReference in VolumeSeries if no data in Items list (#1491)
- โ Possible out-of-bounds exception in HeatMapSeries HitTest (#1524)
- WPF CanvasRenderContext draws ellipses too small by half stroke thickness (#1537)
- Text measurement and rendering in OxyPlot.ImageSharp
- ExampleLibrary reporting annotation-only PlotModels as transposable (#1544)
- Auto plot margin not taking width of labels into account (#453)
- WPF PlotView still focusable when Focusable is false (#1440)
- Disposing a SkiaRenderContext can mess up fonts from another SkiaRenderContext instance (#1573)
- ๐ Display of ampersands in OxyPlot.WindowsForms Tracker (#1585)
- Full Plotarea Polar plot rendering with non-zero minimum values (#1586)
- 0๏ธโฃ Auto margins are set incorrectly if Axis.TitleFontSize is set to non-default value (related to #1577)
- Incomplete rendering of AreaSeries in some situations (#1512)
- ColumnSeries / BarSeries not working with more than one value-axis (#729)
- OxyPlot.SkiaSharp.SvgExporter plot background color (#1619)
- MinimumPadding incorrect when MaximumPadding is non-zero (#1625)
- Don't clip zerocrossing axis lines within plot bounds (#1441)
- Incorrect margins when using Color Axes with AxisPosition.None (#1574)
- OpenStreetMap example (#1642)
- Incorrect clipping in TwoColorAreaSeries (#1678)
- ScreenMin and ScreenMax on Horizontal and Vertical Axes depends on plot bounds (#1652)
- ๐ Windows Forms clipping last line of measured text (#1659)
- Inconsistent Zooming behaviour (#1648)
- ContourSeries produce fake connections (#1685)
Previous changes from v2.0.0
-
โ Added
- ๐ WindowsForms and Wpf support .NET Core 3.0 (#1331)
- PngExporter based on System.Common.Drawing (.NET Core) (#1263)
- ๐ New polar plot axes filling the full plot area (#1056)
- ๐ Support for three colors in histogram series (#1305)
- ๐ Command to copy plot to the clipboard in Windows Forms (Ctrl-C) (#1297)
- ๐ New
InterpolationAlgorithm
property in LineSeries and PolylineAnnotation (#494) - Catmull-Rom spline interpolation algorithms (#494)
- FontSize, FontWeight and FontFamily on Wpf.TextAnnotation (#1023)
- RectangleSeries (#1060)
- InvalidNumberColor on Wpf.LinearColorAxis (#1087)
- ContinuousHistogramSeries (#1145)
- ๐ Multiline text support for PortableDocumentFont (#1146)
- โช Workaround for text vertical alignment in SVG Export to accomodate viewers which don't support dominant-baseline (#459, #1198)
- ๐ Support for transposed (X and Y axis switched) plots with XYAxisSeries (#1334)
- Color property on HistogramItem (#1347)
- Count property on HistogramSeries (#1347)
- ๐ Bug in HistogramHelpers.Collect when using out-of-order bin breaks (#1476)
๐ Changed
- OxyPlot.Core changed to target netstandard 1.0 and net45 (#946, #1147)
- OxyPlot.ExampleLibrary changed to target netstandard 1.0 and net45 (#946, #1147)
- ๐ OxyPlot.Wpf, OxyPlot.WindowsForms, OxyPlot.Pdf changed to target net45 (#946)
- Place label below negative ColumnSeries (#1119)
- ๐ฆ Use PackageReference instead of packages.config
- โ Migrated NUnit v2 to v3 and added test adapter
- TrackerControl reuses existing ContentControl when a new hit tracker result uses the same template as the currently shown tracker (#1281)
- Overhaul HistogramHelpers (#1345)
- ๐ OxyPlot.Windows (UWP) moved to oxyplot-uwp repository (#1378)
- ๐ Make the PngExporters consistent (#1390)
- ๐ Silverlight project moved to separate repository (#1049)
- ๐ WP8 project moved to separate repository (#1050)
- ๐ Windows8 project moved to separate repository (#1103)
- ๐ Avalonia project moved to separate repository
- ๐ Xamarin projects moved to separate repository
- ๐ Xwt project moved to separate repository
- ๐ GTK# projects moved to separate repository
- ๐ SharpDX project moved to separate repository
๐ Deprecated
- ๐ OxyPlot.WP8 package. Use OxyPlot.Windows (UWP) instead (#996)
โ Removed
- LabelFontSize property from HistogramSeries (#1309)
- Smooth property from LineSeries and PolylineAnnotation (#494)
- ๐ Support for net40 (#960)
๐ Fixed
- ๐ Manipulation when using touch is not working in Windows (#1011)
- Ensure a suitable folder is used when creating a temporary file for PNG export in Oxyplot.GtkSharp (#1034)
- RangeColorAxis is not rendered correctly if the axis is reversed (#1035)
- ๐ OxyMouseEvents not caught due to InvalidatePlot() in WPF (#382)
- When Color Property of LineSeries is set Markers are not shown (#937)
- ๐ Change from linear to logarithmic axis does not work (#1067)
- ๐ป OxyPalette.Interpolate() throws exception when paletteSize = 1 (#1068)
- Infinite loop in LineAnnotation (#1029)
- OverflowException when zoomed in on logarithmic axis (#1090)
- ScatterSeries with DateTimeAxis/TimeSpanAxis (#1132)
- Exporting TextAnnotation with TextColor having 255 alpha to SVG produces opaque text (#1160)
- โก๏ธ Chart is not updated when top and bottom are not visible (#1219)
- Candle overlap each candle (#623)
- CandleStick is overlapped when item.Open == item.Close in the CandleStickAndVolumeSeries (#1245)
- ๐ Out of memory exception and performance issue with Catmull-Rom Spline (#1237)
- Cache and Dispose Brush and Pen objects used by GraphicsRenderContext (#1230)
- โ Add checks for non-positive StrokeThickess and LineStyle.None in various places (#1312)
- ๐ Fixed references to RectangleItem in HistogramSeries
- ๐ Fix AxisChangedEventArgs.DeltaMaximum in Axes.Reset (#1306)
- ๐ Fixed Tracker for RectangleBarSeries (#1171)
- RectangleSeries doesn't render Labels (related to #1334)
- LineSeries line legend placement with reversed X axis (related to #1334)
- HistogramSeries label placement inconsistent (related to #1334)
- TwoColorLineSeries and ThreeColorLineSeries don't work with reversed Y axis (related to #1334)
- Issue with SVG always containing the xml headers (#1212)
- In WPF, make sure the axes are initalized when the Model is set before the PlotView has been loaded (#1303)
- MinimumSegmentLength not working for LineSeries (#1044)
- rendering issues with MagnitudeAxisFullPlotArea (#1364)
- OxyPlot.Core.Drawing PngExporter background when exporting to stream (#1382)
- ๐ Windows Forms clipping last line of rendered text (#1124, #1385)
- Dispose background brush in OxyPlot.Core.Drawing PngExporter (#1392)