Skip to content

ScottPlot 4.1 #505

@swharden

Description

@swharden

ScottPlot 5 is being actively developed (#521) to achieve the following goals:

  • Figure items (ticks, axis labels, grid, etc.) will implement IRenderable and track state (styling) and handle rendering in the same class. This makes experimental renderables (like new tick systems) easy to implement and test.
  • Support for an arbitrary number of coordinate planes (allowing plots with two different Y scales)
  • Improved rendering system
    • The Plot module will not store Bitmap objects
    • Existing Bitmaps can be passed-in to render onto, improving performance of user controls
    • Architecture is designed for eventual support of System.Drawing alternatives like SkiaSharp and ImageSharp
  • Mouse interactivity of all user controls will be abstracted into a PlotControl module, ensuring all user controls to have the same functionality and options without requiring maintenance of duplicate code for each control.
  • All plottables will have improved error-checking when data is modified

Strategy / Timeline

  • ScottPlot 5 will be developed in a separate folder from ScottPlot 4
  • A minimum viable mouse-interactive plotting system will be created using the new architecture
  • Features will be migrated from 4 one-by-one, refactoring to achieve the design goals above
  • Unit tests will be added for each feature as it is migrated from 4 to 5
  • After things settle down, work through every item in Triaged Tasks and Features (May 2020) #412 to ensure nothing was forgotten

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions