All Versions
Latest Version
Avg Release Cycle
21 days
Latest Release
1186 days ago

Changelog History

  • v4.0.44 Changes

    November 23, 2020

    📦 Published on NuGet on 2020-09-27

    • Improved limits for fixed-size axis spans (#586) Thanks @citizen3942 and @StendProg
    • Mouse drag/drop events now send useful event arguments (#593) Thanks @charlescao460 and @StendProg
    • Fixed a bug that affected plots with extremely small (<1E-10) axis spans (#607) Thanks @RFIsoft
    • Plot.SaveFig() now returns the full path to the file it created (#608)
    • Fixed AxisAuto() bug affecting signal plots using min/max render indexes with a custom sample rate (#621) Thanks @LB767
    • Fixed a bug affecting histogram normalization (#624) Thanks @LB767
    • 🏁 WPF and Windows Forms user controls now also target .NET 5
    • 👌 Improved appearance of semi-transparent legend items (#567)
    • Improved tick labels for ticks smaller than 1E-5 (#568) Thanks @ozgur640
    • Improved support for Avalonia 0.10 (#571) Thanks @Benny121221 and @apkrymov
    • Improved positions for base16 ticks (#582, #581) Thanks @Benny121221
  • v4.0.42 Changes

    September 27, 2020

    📦 Published on NuGet on 2020-09-27

    ScottPlot 4.0.42

    • Improved DPI scaling support when using WinForms in .NET Core applications (#563) Thanks @citizen3942
    • Improved DPI scaling support for draggable axis lines and spans (#563) Thanks @citizen3942
  • v4.0.41 Changes

    September 26, 2020

    📦 Published on NuGet on 2020-09-26

  • v4.0.40 Changes

    September 20, 2020

    📦 Published on NuGet on 2020-09-20

    • Added user control for Avalonia (#496, #503) Thanks @Benny121221
    • Holding shift while left-click-dragging the edge of a span moves it instead of resizing it (#509) Thanks @Torgano
    • CSV export is now culture invariant for improved support on systems where commas are decimal separators (#512) Thanks Daniel
    • Added fill support to scatter plots (#529) Thanks @AlexFsmn
    • Fix bug that occurred when calling GetLegendBitmap() before the plot was rendered (#527) Thanks @el-aasi
    • Improved DateTime tick placement and added support for milliseconds (#539) Thanks @StendProg
    • Pie charts now have an optional hollow center to produce donut plots (#534) Thanks @Benny121221 and @AlexFsmn
    • Added electrocardiogram (ECG) simulator to the DataGen module (#540) Thanks @AteCoder
    • Improved mouse scroll wheel responsiveness by delaying high quality render (#545, #543, #550) Thanks @StendProg
    • Plot.PlotBitmap() allows Bitmaps to be placed at specific coordinates (#528) Thanks @AlexFsmn
    • ✅ DataGen.SampleImage() returns a sample Bitmap that can be used for testing
    • Bar graphs now have a hatchStyle property to customize fill pattern (#555) Thanks @Benny121221
    • Support timecode tick labels (#537) Thanks @vrdriver and @StendProg
  • v4.0.39 Changes

    August 09, 2020

    📦 Published on NuGet on 2020-08-09

    • Legend now reflects LineStyle of Signal and SignalXY plots (#488) Thanks @Benny121221
    • Improved mouse wheel zoom-to-cursor and middle-click-drag rectangle zoom in the WPF control for systems that use display scaling (#490) Thanks @nashilnik
    • The Configure() method of user controls now has a lowQualityAlways argument to let the user easily enable/disable anti-aliasing at the control level. Previously this was only configurable by reaching into the control's plot object and calling its AntiAlias() method. (#499) Thanks @RachamimYaakobov
    • SignalXY now supports parallel processing (#500) Thanks @StendProg
    • SignalXY now respects index-based render limits (#493, #500) Thanks @StendProg and @envine
  • v4.0.38 Changes

    July 08, 2020

    📦 Published on NuGet on 2020-07-6

    • Improved Plot.PlotFillAboveBelow() rendering of data with a non-zero baseline (#477) Thanks @el-aasi
    • Added Plot.PlotWaterfall() for easy creation of waterfall-style bar plots (#463, #476) Thanks @Benny121221
    • Axis tick labels can be displayed using notations other than base 10 by supplying Plot.Ticks() with base and prefix arguments, allowing axes that display binary (e.g., 0b100110) or hexadecimal (eg., 0x4B0D10) tick labels (#469, #457) Thanks @Benny121221
    • Added options to PlotBar() to facilitate customization of text displayed above bars when showValue is enabled (#483) Thanks @WillemWever
    • 0️⃣ Plot objects are colored based on a pre-defined set of colors. The default colorset (category10) is the same palette of colors used by matplotlib. A new Colorset module has been created to better define this behavior, and Plot.Colorset() makes it easy to plot data using alternative colorsets. (#481)
    • Fixed a bug that caused instability when a population plot is zoomed-out so much that its fractional distribution curve is smaller than a single pixel (#480) Thanks @HowardWhile
    • Added Plot.Remove() method to make it easier to specifically remove an individual plottable after it has been plotted. Plot.Clear() is similar, but designed to remove classes of plot types rather than a specific plot object. (#479) Thanks @cstyx and @Resonanz
    • Signal plots can now be created with a defined minRenderIndex (in addition to the already-supported maxRenderIndex) to facilitate partial display of large arrays (#474) Thanks @Benny121221
  • v4.0.37 Changes

    June 22, 2020

    📦 Published on NuGet on 2020-06-22

    • Fixed a long-running issue related to strong assembly versioning that caused the WPF control to fail to render in the Visual Studio designer in .NET Framework (but not .NET Core) projects (#473, #466, #356) Thanks @bhairav-thakkar, @riquich, @Helitune-RobMcKay, and @iu2kxv
    • 🏗 User controls now also target net472 (while still supporting net461 and netcoreapp3.0) to produce a build folder with just 3 DLLs (compared to over 100 when building with .NET Framework 4.6.1) (#330)
  • v4.0.36 Changes

    June 22, 2020

    📦 Published on NuGet on 2020-06-21

    • PlotSignal() and PlotSignalXY() plots now have an optional useParallel argument (and public property on the objects they return) to allow the user to decide whether parallel or sequential calculations will be performed. (#454, #419, #245, #72) Thanks @StendProg
    • 👌 Improved minor tick alignment to prevent rare single-pixel artifacts (#417)
    • 👌 Improved horizontal axis tick label positions in ruler mode (#453)
    • Added a Statistics.Interpolation module to generate smooth interpolated splines from a small number of input data points. See advanced statistics cookbook example for usage information. (#459) Thanks Hans-Peter Moser
    • Improved automatic axis adjustment when adding bar plots with negative values (#461, #462) Thanks @Benny121221
    • Created Drawing.Colormaps module which has over a dozen colormaps for easily converting a fractional value to a color for use in plotting or heatmap displays (#457, #458) Thanks @Benny121221
    • Updated Plot.Clear() to accept any Plottable as an argument, and all Plottable objects of the same type will be cleared (#464) Thanks @imka-code
  • v4.0.35 Changes

    June 09, 2020

    📦 Published on NuGet on 2020-06-09

    • 🔗 Added processEvents argument to formsPlot2.Render() to provide a performance enhancement when linking axes of two FormsPlot controls together (by calling Plot.MatchAxis() from the control's AxesChanged event, as seen in the Linked Axes demo application) (#451, #452) Thanks @StendProg and @robokamran
    • New Plot.PlotVectorField() method for displaying vector fields (sometimes called quiver plots) (#438, #439, #440) Thanks @Benny121221 and @hhubschle
    • Included an experimental colormap module which is likely to evolve over subsequent releases (#420, #424, #442) Thanks @Benny121221
    • PlotScatterHighlight() was created as a type of scatter plot designed specifically for applications where "show value on hover" functionality is desired. Examples are both in the cookbook and WinForms and WPF demo applications. (#415, #414) Thanks @Benny121221 and @StendProg
    • PlotRadar() is a new plot type for creating Radar plots (also called spider plots or star plots). See cookbook and demo application for examples. (#428, #430) Thanks @Benny121221
    • PlotPlolygons() is a new performance-optimized variant of PlotPolygon() designed for displaying large numbers of complex shapes (#426) Thanks @StendProg
    • The WinForms control's Configure() now has a showCoordinatesTooltip argument to continuously display the position at the tip of the cursor as a tooltip (#410) Thanks @jcbeppler
    • User controls now use SHIFT (previously ALT) to lock the horizontal axis and ALT (previously SHIFT) while left-click-dragging for zoom-to-region. Holding CTRL+SHIFT while right-click-dragging now zooms evenly, without X/Y distortion. (#436) Thanks @tomwimmenhove and @StendProg
    • 🐎 Parallel processing is now enabled by default. Performance improvements will be most noticeable on Signal plots. (#419, #245, #72)
    • 0️⃣ Plot.PlotBar() now has an autoAxis argument (which defaults true) that automatically adjusts the axis limits so the base of the bar graphs touch the edge of the plot area. (#406)
    • OSX-specific DLLs are now only retrieved by NuGet on OSX (#433, #211, #212)
    • Pie charts can now be made with plt.PlotPie(). See cookbook and demo application for examples. (#421, #423) Thanks @Benny121221
    • ScottPlot.FormsPlotViewer(Plot) no longer resets the new window's plot to the default style (#416) Thanks @StendProg
    • Controls now have a recalculateLayoutOnMouseUp option to prevent resetting of manually-defined data area padding (#449) Thanks @ismdiego
  • v4.0.34 Changes

    May 18, 2020

    📦 Published on NuGet on 2020-05-18

    • Improve display of PlotSignalXY() by not rendering markers when zoomed very far out (#402) Thanks @gobikulandaisamy
    • Optimized rendering of solid lines which have a user-definable LineStyle property. This modification improves grid line rendering and increases performance for most types of plots. (#401, #327) Thanks @bukkideme and @citizen3942