ScottPlot

Interactive plotting library for .NET

MIT License

Stars
4.7K

Bot releases are hidden (Show)

ScottPlot - ScottPlot 4.1.2-beta

Published by swharden almost 4 years ago

Published on NuGet on 2020-12-11
cookbook: http://swharden.com/scottplot/cookbook

⚠️ This is a pre-release version of ScottPlot. It is largely functional, but be aware that its API will continue to evolve and that it is more likely to have undiscovered bugs than the stable branch.

Major Changes

Feedback

ScottPlot - ScottPlot 4.0.46

Published by swharden almost 4 years ago

Published on NuGet on 2020-12-11
cookbooks: http://swharden.com/scottplot/cookbook
demos: https://swharden.com/scottplot/demo

  • improved automatic data limit detection for signal plots with a defined xOffset
  • added support for render locking (#609)
  • disabled data validation render messages (these will be better supported in ScottPlot 4.1)
ScottPlot - ScottPlot 4.0.44

Published by swharden almost 4 years ago

Published on NuGet on 2020-11-22
cookbook: http://swharden.com/scottplot/cookbook
demo: https://swharden.com/scottplot/demo

  • 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
ScottPlot - ScottPlot 4.0.42

Published by swharden about 4 years ago

Published on NuGet on 2020-09-27
cookbook: http://swharden.com/scottplot/cookbook
demo: https://swharden.com/scottplot/demo

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
ScottPlot - ScottPlot 4.0.41

Published by swharden about 4 years ago

Published on NuGet on 2020-09-26
cookbook: http://swharden.com/scottplot/cookbook
demo: https://swharden.com/scottplot/demo

  • Improved DPI scaling support when using the WinForms control in .NET Core applications (#563) Thanks @citizen3942
  • Improved density of DateTime ticks (#564, #561) Thanks @StendProg and @waynetheron
  • Improved display of DateTime tick labels containing multiple spaces (#539, #564) Thanks @StendProg
ScottPlot - ScottPlot 4.0.40

Published by swharden about 4 years ago

Published on NuGet on 2020-09-20
cookbook: http://swharden.com/scottplot/cookbook
demo: https://swharden.com/scottplot/demo

  • 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
ScottPlot - ScottPlot 4.0.39

Published by swharden about 4 years ago

Published on NuGet on 2020-08-09
cookbook: http://swharden.com/scottplot/cookbook
demo: https://swharden.com/scottplot/demo

  • 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
ScottPlot - ScottPlot 4.0.38

Published by swharden over 4 years ago

Published on NuGet on 2020-07-6
cookbook: http://swharden.com/scottplot/cookbook
demo: https://swharden.com/scottplot/demo

  • 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
  • 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
ScottPlot - ScottPlot 4.0.37

Published by swharden over 4 years ago

Published on NuGet on 2020-06-22
cookbook: http://swharden.com/scottplot/cookbook
demo: https://swharden.com/scottplot/demo

  • 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)
ScottPlot - ScottPlot 4.0.36

Published by swharden over 4 years ago

Published on NuGet on 2020-06-21
cookbook: http://swharden.com/scottplot/cookbook
demo: https://swharden.com/scottplot/demo

  • 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
ScottPlot - ScottPlot 4.0.35

Published by swharden over 4 years ago

Published on NuGet on 2020-06-09
cookbook: http://swharden.com/scottplot/cookbook
demo: https://swharden.com/scottplot/demo

  • 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)
  • 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
ScottPlot - ScottPlot 4.0.34

Published by swharden over 4 years ago

Published on NuGet on 2020-05-18
cookbook: http://swharden.com/scottplot/cookbook
demo: https://swharden.com/scottplot/demo

  • 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
ScottPlot - ScottPlot 4.0.33

Published by swharden over 4 years ago

Published on NuGet on 2020-05-18
Version-specific cookbook: http://swharden.com/scottplot/cookbook

  • Force grid lines to always draw using anti-aliasing. This compensates for a bug in System.Drawing that may cause diagonal line artifacts to appear when the user controls were panned or zoomed. (#401, #327) Thanks @bukkideme and @citizen3942
ScottPlot - ScottPlot 4.0.32

Published by swharden over 4 years ago

Published on NuGet on 2020-05-17
Version-specific cookbook: http://swharden.com/scottplot/cookbook

  • User controls now have a GetMouseCoordinates() method which returns the DPI-aware position of the mouse in graph coordinates (#379, #380) Thanks @Benny121221
  • Default grid color was lightened in the user controls to match the default style (#372)
  • New PlotSignalXY() method for high-speed rendering of signal data that has unevenly-spaced X coordinates (#374, #375) Thanks @StendProg and @LogDogg
  • Modify Tools.Log10() to return 0 instead of NaN, improving automatic axis limit detection (#376, #377) Thanks @Benny121221
  • WpfPlotViewer and FormsPlotViewer launch in center of parent window (#378)
  • Improve reliability of Plot.AxisAutoX() and Plot.AxisAutoY() (#382)
  • The Configure() method of FormsPlot and WpfPlot controls now have middleClickMarginX and middleClickMarginY arguments which define horizontal and vertical auto-axis margin used for middle-clicking. Setting horizontal margin to 0 is typical when plotting signals. (#383)
  • Plot.Grid() and Plot.Ticks() now have a snapToNearestPixel argument which controls whether these lines appear anti-aliased or not. For static images non-anti-aliased grid lines and tick marks look best, but for continuously-panning plots anti-aliased lines look better. The default behavior is to enable snapping to the nearest pixel, consistent with previous releases. (#384)
  • Mouse events (MouseDown, MouseMove, etc.) are now properly forwarded to the FormsPlot control (#390) Thanks @Minu476
  • Improved rendering of very small candlesticks and OHLCs in financial plots
  • Labeled plottables now display their label in the ToString() output. This is useful when viewing plottables listed in the FormsPlot settings window #391 Thanks @Minu476
  • Added a Statistics.Finance module with methods for creating Simple Moving Average (SMA) and Bollinger band technical indicators to Candlestick and OHLC charts. Examples are in the cookbook and demo program. (#397) Thanks @Minu476
  • Scatter plots, filled plots, and polygon plots now support Xs and Ys which contain double.NaN #396
  • Added support for line styles to Signal plots (#392) Thanks @bukkideme
ScottPlot - ScottPlot 4.0.31

Published by swharden over 4 years ago

Published on NuGet on 2020-05-05
Version-specific cookbook: http://swharden.com/scottplot/cookbook

  • Created Plot.PlotBarGroups() for easier construction of grouped bar plots from 2D data (#367) Thanks @Benny121221
  • Plot.PlotScaleBar() adds an L-shaped scalebar to the corner of the plot (#363)
  • Default grid color lightened from #D3D3D3 (Color.LightGray) to #EFEFEF (#372)
  • Improved error reporting for scatter plots (#369) Thanks @JagDTalcyon
  • Improve pixel alignment by hiding grid lines and snapping tick marks that are 1px away from the lower left edge (#359)
  • PlotText() ignores defaults to upperLeft alignment when rotation is used (#362)
  • Improved minor tick positioning to prevent cases where minor ticks are 1px away from major ticks (#373)
ScottPlot - ScottPlot 4.0.30

Published by swharden over 4 years ago

Published on NuGet on 2020-05-03
Version-specific cookbook: http://swharden.com/scottplot/cookbook

  • Plot.PlotCandlestick() and Plot.PlotOHLC()
    • now support OHLC objects with variable widths defined with a new timeSpan argument in the OHLC constructor. (#346) Thanks @Minu476
    • now support custom up/down colors including those with transparency (#346) Thanks @Minu476
    • have a new sequential argument to plot data based on array index rather than OHLC.time. This is a new, simpler way to display unevenly-spaced data (e.g., gaps over weekends) in a way that makes the gaps invisible. (#346) Thanks @Minu476
  • Fixed a marker/line alignment issue that only affeced low-density Signal plots on Linux and MacOS (#340) Thanks @SeisChr
  • WPF control now appears in Toolbox (#151) Thanks @RalphLAtGitHub
  • Plot titles are now center-aligned with the data area, not the figure. This improves the look of small plots with titles. (#365) Thanks @Resonanz
  • Fixed bug that ignored Configure(enableRightClickMenu: false) in WPF and WinForms user controls. (#365) Thanks @thunderstatic
  • Updated Configure(enableScrollWheelZoom: false) to disable middle-click-drag zooming. (#365) Thanks @eduhza
  • Added color mixing methods to ScottPlot.Drawing.GDI (#361)
  • Middle-click-drag zooming now respects locked axes (#353) Thanks @LogDogg
  • Improved user control zooming of high-precision DateTime axis data (#351) Thanks @bukkideme
  • Plot.AxisBounds() now lets user set absolute bounds for drag and pan operations (#349) Thanks @LogDogg
  • WPF control uses improved Bitmap conversion method (#350)
  • Function plots have improved handling of functions with infinite values (#370) Thanks @Benny121221
ScottPlot - ScottPlot 4.0.29

Published by swharden over 4 years ago

Published on NuGet on 2020-04-11
Version-specific cookbook: http://swharden.com/scottplot/cookbook

  • Plot.PlotFill() can be used to make scatter plots with shaded regions. Giving it a single pair of X/Y values (xs, ys) lets you shade beneath the curve to the baseline value (which defaults to 0). You can also give it a pair of X/Y values (xs1, ys1, xs2, ys2) and the area between the two curves will be shaded (the two curves do not need to be the same length). See cookbook for examples. (#255) Thanks @ckovamees
  • DataGen.Range() now has includeStop argument to include the last value in the returned array.
  • Tools.Pad() has been created to return a copy of a given array padded with data values on each side. (#255) Thanks @ckovamees
  • Seaborn style can be activated using Plot.Style(Style.Seaborn) (#339)
  • The enableZooming argument in WpfPlot.Configure() and FormsPlot.Configure() has been replaced by two arguments enableRightClickZoom and enableScrollWheelZoom (#338) Thanks Zach
  • Improved rendering of legend items for polygons and filled plots (#341) Thanks @SeidChr
  • Improved Linux rendering of legend items which use thick lines: axis spans, fills, polygons, etc. (#340) Thanks @SeidChr
  • Addded Plot.PlotFillAboveBelow() to create a shaded line plot with different colors above/below the baseline. (#255) Thanks @ckovamees
  • Improved rendering in Linux and MacOS by refactoring the font measurement system (#340) Thanks @SeidChr
ScottPlot - ScottPlot 4.0.28

Published by swharden over 4 years ago

Published on NuGet on 2020-04-07
Version-specific cookbook: http://swharden.com/scottplot/cookbook

  • Ticks() now has arguments for numericStringFormat (X and Y) to make it easy to customize formatting of tick labels (percentage, currency, scientific notation, etc.) using standard numeric format strings. Example use is demonstrated in the cookbook. (#336) Thanks @deiruch
  • The right-click menu can now be more easily customized by writing a custom menu to FormsPlot.ContextMenuStrip or WpfPlot.ContextMenu. Demonstrations of both are in the demo application. (#337) Thanks @Antracik
ScottPlot - ScottPlot 4.0.27

Published by swharden over 4 years ago

Published on NuGet on 2020-04-05
Version-specific cookbook: http://swharden.com/scottplot/cookbook

  • Plot.Polygon() can now be used to plot polygons from X/Y points (#255) Thanks @ckovamees
  • User controls now have an "open in new window" item in their right-click menu (#280)
  • Plots now have offset notation and multiplier notation disabled by default. Layouts are automatically calculated before the first render, or manually after MouseUp events in the user controls. (#310)
  • Plot.Annotation() allows for the placement of text on the figure using pixel coordinates (not unit coordinates on the data grid). This is useful for creating custom static labels or information messages. (#321) Thanks @SeidChr
  • FormsPlot.MouseDoubleClicked event now passes a proper MouseEventArgs instead of null (#331) Thanks @ismdiego
  • Added a right-click menu to WpfPlot with items (save image, copy image, open in new window, help, etc.) similar to FormsPlot
ScottPlot - ScottPlot 4.0.26

Published by swharden over 4 years ago

Published on NuGet on 2020-04-04
Version-specific cookbook: http://swharden.com/scottplot/cookbook

  • The ScottPlot.WPF package (which provides the WpfPlot user control) now targets .NET Framework 4.7.2 (in addition to .NET Core 3.0), allowing it to be used in applications which target either platform. The ScottPlot demo application now targets .NET Framework 4.7.2 which should be easier to run on most Windows systems. (#333)
  • The ScottPlot.WinForms package (which produves the FormsPlot control) now only targets .NET Framework 4.6.1 and .NET Core 3.0 platforms (previously it also had build targets for .NET Framework 4.7.2 and .NET Framework 4.8). It is important to note that no functionality was lost here. (#330, #333)