ScottPlot

Interactive plotting library for .NET

MIT License

Stars
4.7K

Bot releases are hidden (Show)

ScottPlot - ScottPlot 4.0.25

Published by swharden over 4 years ago

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

  • PlotBar() now supports displaying values above each bar graph by setting the showValues argument.
  • PlotPopulations() has extensive capabilities for plotting grouped population data using box plots, bar plots, box and whisper plots, scatter data with distribution curves, and more! See the cookbook for details. (#315)
  • Histogram objects now have a population property.
  • PopulationStats has been renamed to Population and has additional properties and methods useful for reporting population statistics.
  • Improved grid rendering rare artifacts which appear as unwanted diagnal lines when anti-aliasing is disabled. (#327)
ScottPlot - ScottPlot 4.0.24

Published by swharden over 4 years ago

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

  • Plot.Clear() has been improved to more effectively clear plottable objects. Various overloads are provided to selectively clear or preserve certain plot types. (#275) Thanks @StendProg
  • PlotBar() now supports horizontal bar graphs (#277, #315) Thanks @bonzaiferroni
  • PlotBar() has been lightly refactored. Argument order has been adjusted, and additional options have been added. Error cap width is now in fractional units instead of pixel units. (#315)
ScottPlot - ScottPlot 4.0.23

Published by swharden over 4 years ago

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

  • Interactive plot viewers were created to make it easy to interactively display data in a pop-up window without having to write any GUI code. Examples have been added to the ScottPlot Demo application.
    • ScottPlot.WpfPlotViewer(plt) for WPF
    • ScottPlot.FormsPlotViewer(plt) for Windows Forms
    • These can even be called from console applications
  • Fixed bug that affected the ySpacing argument of Plot.Grid()
  • Plot.Add() makes it easy to add a custom Plottable to the plot
  • Plot.XLabels() and Plot.YLabels() can now accept just a string array (x values are auto-populated as a consecutive series of numbers).
  • Aliased Plot.AxisAuto() to Plot.AutoAxis() and Plot.AutoScale() to make this function easier to locate for users who may have experience with other plot libraries. (#309) Thanks @Resonanz
  • Empty plots now render grid lines, ticks, and tick labels (#313)
  • New plot type: Error bars. They allow the user to define error bar size in all 4 directions by calling plt.PlotErrorBars(). (#316) Thanks @zrolfs
  • Improve how dashed lines appear in the legend
  • Improved minor tick positions when using log scales with logScaleX and logScaleY arguments of plt.Ticks() method
  • Fixed bug that caused the center of the coordinate field to shift when calling Plot.AxisZoom()
  • Grid line thickness and style (dashed, dotted, etc) can be customized with new arguments in the Plot.Grid() method
ScottPlot - ScottPlot 4.0.22

Published by swharden over 4 years ago

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

  • Added support for custom horizontal axis tick rotation (#300) Thanks @SeidChr
  • Added support for fixed grid spacing when using DateTime axes (#299) Thanks @SeidChr
  • Updated ScottPlot icon (removed small text, styled icon after emoji)
  • Improved legend font size when using display scaling (#289)
  • Scroll wheel zooming now zooms to cursor (instead of center) in WPF control. This feature works now even if display scaling is used. (#281)
  • Added Plot.EqualAxis property to make it easy to lock axis scales together (#306) Thanks @StendProg
ScottPlot - ScottPlot 4.0.21

Published by swharden over 4 years ago

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

  • Created new cookbook and demo applications for WinForms and WPF (#271)
  • The FormsPlot.MouseMoved event now has MouseEventArgs (instead of EventArgs). The purpose of this was to make it easy to access mouse pixel coordinates via e.X and e.Y, but this change may require modifications to applications which use the old event signature.
  • WpfPlot now has an AxisChanged event (like FormsPlot)
  • Fixed bug that caused Plot.CoordinateFromPixelY() to return incorrect value
  • Fixed bug causing cursor to show arrows when hovered over some non-draggable objects
  • Improved support for WinForms and WpfPlot transparency (#286) Thanks @StendProg and @envine
  • Added DataGen.Zeros() and DataGen.Ones() to generate arrays filled with values using methods familiar to numpy users.
  • Added equalAxes argument to WpfPlot.Configure() (#272)
  • Fixed a bug affecting the equalAxes argument in FormsPlot.Configure() (#272)
  • Made all Plot.Axis methods return axis limits as double[] (previously many of them returned void)
  • Added overload for Plot.PlotLine() which accepts a slope, offset, and start and end X points to make it easy to plot a linear line with known formula. Using PlotFormula() will produce the same output, but this may be simpler to use for straight lines.
  • Added rSquared property to linear regression fits (#290) Thanks @Benny121221 and @StendProg
  • Added Tools.ConvertPolarCoordinates() to make it easier to display polar data on ScottPlot's Cartesian axes (#298) Thanks @Benny121221
  • Improved Plot.Function() (#243) Thanks @Benny121221
  • Added overload for Plot.SetCulture() to let the user define number and date formatting rather than relying on pre-made cultures (#301, #236) Thanks @SeidChr
ScottPlot - ScottPlot 4.0.19

Published by swharden over 4 years ago

Published on NuGet on 2020-02-29

Plottable and Rendering Changes

  • Improved how markers are drawn in Signal and SignalConst plots at the transition area between zoomed out and zoomed in (#263) Thanks @bukkideme and @StendProg
  • Improved support for zero lineSize and markerSize in Signal and SignalConst plots (#263, #264) Thanks @bukkideme and @StendProg
  • Improved thread safety of interactive graphs (#245) Thanks @StendProg

Changes to ScottPlot.Plot Module

  • added CoordinateFromPixelX() and CoordinateFromPixelY() to get double precision coordinates from a pixel location. Previously only SizeF (float) precision was available. This improvement is especially useful when using DateTime axes. (#269) Thanks Chris
  • added AxisScale() to adjust axis limits to set a defined scale (units per pixel) for each axis.
  • added AxisEqual() to adjust axis limits to set the scale of both axes to be the same regardless of the size of each axis. (#272) Thanks @gberrante
  • PlotHSpan() and PlotVSpan() now return PlottableHSpan and PlottableVSpan objects (instead of a PlottableAxSpan with a vertical property)
  • PlotHLine() and PlotVLine() now return PlottableHLine and PlottableVLine objects (instead of a PlottableAxLine with a vertical property)

Miscellaneous

  • MultiPlot now has a GetSubplot() method which returns the Plot from a row and column index (#242). See cookbook for details. Thanks @Resonanz and @StendProg
  • Created DataGen.Range() to make it easy to create double arrays with evenly spaced data (#259)
  • Improved support for display scaling (#273) Thanks @zrolfs
  • Improved event handling (#266, #238) Thanks @StendProg
  • Improved legend positioning (#253) Thanks @StendProg
ScottPlot - ScottPlot 4.0.17

Published by swharden over 4 years ago

Published on NuGet on 2020-02-06

  • added mouseCoordinates property to user controls (#235) Thanks @bukkideme
ScottPlot - ScottPlot 4.0.16

Published by swharden over 4 years ago

Published on NuGet on 2020-02-02

  • Improved support for MacOS and Linux (#211, #212, #216) Thanks @Hexxonite and @StendProg
  • Fixed a few display bugs
    • Fixed a bug affecting the ySpacing argument in Plot.Grid() (#221) @Thanks teejay-87
    • Enabled visible argument in Title(), XLabel(), and YLabel() (#222) Thanks @ckovamees
  • AxisSpan improvements
    • Edges are now optionally draggable (#228) Thanks @StendProg
    • Can now be selectively removed with Clear() argument
    • Fixed bug caused by zooming far into an axis span (#226) Thanks @StendProg
  • WinForms Control
    • WinForms control now supports draggable axis lines and axis spans
    • Right-click menu now has "copy image" option (#220)
    • Settings screen now has "copy CSV" button to export data (#220)
  • WPF Control
    • WPF control now supports draggable axis lines and axis spans
    • new WpfPlot.Configure() to set various WPF control options
  • Misc improvements
    • Improved axis handling, expansion, and auto-axis (#219, #230) Thanks @StendProg
    • Added more options to DataGen.Cos()
    • Tick labels can be hidden with Ticks() argument (#223) Thanks @ckovamees
ScottPlot - ScottPlot 4.0.14

Published by swharden over 4 years ago

Published on NuGet on 2020-01-23

  • Improved MatchAxis() and MatchLayout() (#217) Thanks @ckovamees and @StendProg
ScottPlot - ScottPlot 4.0.13

Published by swharden over 4 years ago

Published on NuGet on 2020-01-20

  • Improved support for Linux and MacOS Thanks @Hexxonite
  • Improved font validation (#211, #212) Thanks @Hexxonite and @StendProg
ScottPlot - ScottPlot 4.0.11

Published by swharden almost 5 years ago

Published on NuGet on 2020-01-19

  • Improved density colormap (#192, #194) Thanks @StendProg
  • Added linear regression tools and cookbook example (#198) Thanks @Benny121221
  • Added maxRenderIndex to Signal to allow partial plotting of large arrays intended to be used with live, incoming data (#202) Thanks @StendProg and @plumforest
  • Made Shift + Left-click-drag zoom into a rectangle light middle-click-drag (in WinForms and WPF controls) to add support for mice with no middle button (#90) Thanks @JagDTalcyon
  • Throw an exception if SaveFig() is called before the image is properly sized (#192) Thanks @karimshams and @StendProg
  • Ticks() now has arguments for FontName and FontSize (#204) Thanks Clay
  • Fixed a bug that caused poor layout due to incorrect title label size estimation (#205) Thanks Clay
  • Grid() now has arguments to selectively enable/disable horizontal and vertical grid lines (#206) Thanks Clay
  • Added tool and cookbook example to make it easier to plot data on a log axis (#207) Thanks @senged
  • Arrows can be plotted using plt.PlotArrow() (#201) Thanks Clay
  • User controls now have a cursor property which can be set to allow custom cursors. (#187) Thanks @gobikulandaisamy
  • User controls now have a mouseCoordinates property which make it easy to get the X/Y location of the cursor. (#187) Thanks @gobikulandaisamy
ScottPlot - ScottPlot 4.0.9

Published by swharden almost 5 years ago

Published on NuGet on 2019-12-03

  • Use local regional display settings when formatting the month tick of DateTime axes (#108) Thanks @FadyDev2
  • Debug symbols are now deployed NuGet
ScottPlot - ScottPlot 4.0.7

Published by swharden almost 5 years ago

Published on NuGet on 2019-12-01

Minor Changes

  • Added WinForms support for .NET Framework 4.7.2 and 4.8
  • Fixed bug in WinForms control that only affected .NET Core 3.0 applications (#189 and #138) Thanks @petarpetrovt
  • Fixed bug that affected the settings dialog window in the WinForms control (#187) Thanks @gobikulandaisamy
ScottPlot - ScottPlot 4.0.5

Published by swharden almost 5 years ago

Published on NuGet on 2019-11-27

Minor Changes

  • improved spacing for non-uniformly distributed OHLC and candlestick plots (#184) Thanks @satyat110
  • added fixedLineWidth to Legend() to allow the user to control whether legend lines are dynamically sized (#185) Thanks @ab-tools
  • legend now hides lines or markers of they're hidden in the plottable
  • DateTime axes now use local display format (#108) Thanks @FadyDev2
ScottPlot - ScottPlot 4.0.4

Published by swharden almost 5 years ago

Published on NuGet on 2019-11-24

Minor Changes

  • PlotText() now supports a background frame (#181) Thanks @satyat110
  • OHLC objects can be created with a double or a DateTime (#182) Thanks @Minu476
  • AxisAuto() improved for mixed 2d and axis line plots
ScottPlot - ScottPlot 4.0.3

Published by swharden almost 5 years ago

Published on NuGet on 2019-11-23

Minor Changes

  • fixed bug when plotting single-point candlestick (#172) Thanks @Minu476
  • improved style editing of plotted objects (#173) Thanks @Minu476
  • fixed pan/zoom axis lock when holding CTRL or ALT (#90) Thanks @FadyDev2
  • simplified the look of the user controls in designer mode
  • improved WPF control mouse tracking when using DPI scaling
  • added support for manual tick positions and labels (#174) Thanks @Minu476
  • improved tick system when using DateTime units (#108) Thanks @Padanian, @FadyDev2, and @Bhandejiya
  • created Tools.DateTimesToDoubles(DateTime[] array) to easily convert an array of dates to doubles which can be plotted with ScottPlot, then displayed as time using plt.Ticks(dateTimeX: true).
  • added an inverted sign flag (#177) to allow display of an axis with descending units Thanks Bart
ScottPlot - ScottPlot 4.0.2

Published by swharden almost 5 years ago

Published on NuGet on 2019-11-09

Major Changes

  • Multi-plot figures: Images with several plots can be created using ScottPlot.MultiPlot() as seen in the Multiplot example in the cookbook

Minor Changes

  • ScottPlot.DataGen functions which require a Random can accept null (they will create a Random if null is given)
  • plt.MatchAxis() and plt.MatchLayout() have been improved
  • plt.PlotText() now supports rotated text using the rotation argument (#160). See the cookbook example. Thanks @gwilson9
  • ScottPlot.WinForms user control has new events and formsPlot1.Configure() arguments to make it easy to replace the default functionality for double-clicking and deploying the right-click menu (#166). Thanks @FadyDev2
  • All plottables now have a visible property which makes it easy to toggle visibility on/off after they've been plotted. See the cookbook example. Thanks Nasser
ScottPlot - ScottPlot 4.0.1

Published by swharden almost 5 years ago

Published on NuGet on 2019-11-03

Major Changes

  • ScottPlot now targets .NET Standard 2.0 so in addition to .NET Framework projects it can now be used in .NET Core applications, ASP projects, Xamarin apps, etc.
  • The WinForms control has its own package (ScottPlot.WinForms) which targets both .NET Framework 4.6.1 and .NET Core 3.0. Thanks for your early efforts on this @petarpetrovt
  • The WPF control has its own package (ScottPlot.WPF) targeting .NET Core 3.0.

Minor Changes

  • better layout system and control of padding (Thanks @citizen3942)
  • added ruler mode to plt.Ticks() (Thanks @citizen3942)
  • plt.MatchLayout() no longer throws exceptions
  • eliminated MouseTracker class (tracking is now in user controls)
  • Use NUnit (not MSTest) for tests
ScottPlot - ScottPlot 3.1.6

Published by swharden about 5 years ago

Published on NuGet on 2019-10-20

Minor Changes

  • reduced designer mode checks to increase render speed (Thanks @StendProg)
  • fixed cursor bug that occurred when draggable axis lines were used (Thanks Kamran)
  • fully deleted the outdated ScottPlotUC
  • fixed infinite zoom bug caused by calling AxisAuto() when plotting a single point (or perfectly straight horizontal or vertical line)
  • added ToolboxItem and DesignTimeVisible delegates to WpfPlot control to try to get it to appear in the toolbox (but it doesn't seem to be working)
  • improved figure padding when axes frames are disabled (Thanks @citizen3942)
  • improved rendering of ticks at the edge of the plottable area (Thanks @citizen3942)
  • added AxesChanged event to user control to make it easier to sync axes between multiple plots (see linked plots demo)
  • disabled drawing of arrows on user control in designer mode
ScottPlot - ScottPlot 3.1.5

Published by swharden about 5 years ago

Published on NuGet on 2019-10-06

Minor Changes

  • WPF user control improved support for display scaling (Thanks @morningkyle)
  • Fixed bug that crashed on extreme zoom-outs (Thanks @morningkyle)
  • WPF user control improvements (middle-click autoaxis, scrollwheel zoom)
  • ScottPlot user control has a new look in designer mode. Exceptions in user controls in designer mode can crash Visual Studio, so this risk is greatly reduced by not attempting to render a ScottPlot inside Visual Studio.