-
Notifications
You must be signed in to change notification settings - Fork 981
Closed
Labels
Description
This page is a collection of tasks and features I want to focus on. I hope to accomplish everything eventually, but I will arrange this list according to what I think the primary focus of my development efforts should be. This list carries over from #651 and #412.
May 2021: Triage moved to #1028
Immediate Priority
- Fix warnings due to tests and demos referencing the old API (eliminate obsolete warnings #718)
- Create a repo for the website Create a repo for the website / documentation #714 ScottPlot/Website
- Create NuGet organization https://www.nuget.org/profiles/ScottPlot
- Implement pixel-aware highlightable plot with demo (Highlight point near cursor with pixel space awareness #709, Improved strategy to highlight point nearest cursor #722)
- Add auto-generated API documentation to cookbook (Add API Documentation to Cookbook #726, Add API documentation to Cookbook #727)
- Require every Plot method and parameter to have XML documentation (Improve cookbook documentation #738)
- Require every Plottable to have an XML summary (Improve cookbook documentation #738)
- Add Plot and Plottable API information to cookbook (Improve cookbook documentation #738)
- Refactor the cookbook to add API documentation support. (Add API documentation to Cookbook #727, Improve cookbook documentation #738, Improve user control event senders #756)
- Improve website documentation: Quickstarts
- Improve website documentation: FAQ (https://github.com/ScottPlot/Website/issues/6)
- Implement render queue Problems calling Render() in response to AxesChanged events #736, WpfPlot has slower framerate during mouse interactions in version 4.1 #761, Process render events with RenderQueue. #813
- Refactor bar plots Dot, Lollipop and Cleveland Dot Plots #842
- Improve DateTime tick density calculations (horizontal DateTime ticks overlap #725, improve DateTime tick spacing #725 #925, Add option to customize tick density (add padding to tick labels) #828)
- Create a modern demo/cookbook for ScottPlot 4.1
- Improve website documentation to better document user controls (Improve user control documentation & demo application #887)
- Add "open in new window" to right-click menu (ScottPlot 4.1 needs "open in new window" right-click menu option #958)
- Remove the beta/pre-release designation and release ScottPlot 4.1 on NuGet (Review 4.1 API #715)
- Release a 4.0 package with a pop-up readme informing people about 4.1 (4.0.x Fixes crash with ScatterPlots containing a single point #949)
- Review GitHub Issue templates to ensure they're up to date (Adds request for environment info on applicable issue templates. #966)
High Priority
- Improve async rendering support and documentation/demonstration of the render queue (Problems calling Render() in response to AxesChanged events #736, WpfPlot has slower framerate during mouse interactions in version 4.1 #761, Process render events with RenderQueue. #813)
- Add methods to make it easier to add live data to scatter, signal, bar, and finance plots. This may or may not involve a data object to manage array resizing and data validation. (SignalPlotList #815, Consider using data objects for live plots #841, Improve in-place updates for finance plots #827)
- Improve API consistency for deep styling options (How to scale correctly for high-resolution plots #981)
Moderate Priority
- Use nullable annotations C# 8 nullable support #691
- Improve the heatmap plot type project 1, Fixed Radius in `ScottPlot.Tools.XYToIntensities` #666, Implemented separable gaussian blur for improved performance. #667, Coordinated Heatmap #701, Add CoordinatedHeatmap #707, Heatmap edges fix #713
- Clean the
/devfolder and move meta content to the ScottPlot website - Add more FAQ pages (https://github.com/ScottPlot/Website/issues/6)
- Refactor TickCollection module to improve support for advanced tick features (horizontal DateTime ticks overlap #725, improve DateTime tick spacing #725 #925, Add support for a custom tick label formatting function #926, Radices #475, Allow Axis Labels in different radices #469, Minor houskeeping on ScottPlot.Tools #935)
- Prevent obsolete plot methods from being browsable (AddHeatMapCoordinated → AddHeatmapCoordinated #963)
- Document how to create custom plot types on the FAQ page (drawing a circle with an absolute radius size #973)
Low Priority
General
- Refactor markers (#386) to be classes instead of defined in an enum. Markers will implement
IMarker, live inScottPlot.Markers, markers have the ability to draw themselves. This makes it easy to switch between markers and even create custom markers that work for all plot types without modifying any ScottPlot code. Create aMarkerSeriesplot type that lets individual markers be customized (Allow Array of Markersize in AddScatter #784, Marker Transparency #785) - Break the
Toolsclass into smaller classes. Move statistical logic out of histogram class and improve names and documentation in the histogram class. (Histogram normalization #930, Histogram normalization #2 #932, Normalizes countsFracCurve in Histograms #934, Histogram countsFracCurve should not be normalized by default #624) - Create a
Generateclass with functions with more logical and better documented function signatures thanDataGen(Better document DataGen #902, Datagen docs #903) - Option for non-overlapping manual tick labels (Xticks custom positions and labels #648, Manual grid/tick positions look bad when zooming out #644)
- Support for image as axis label (Allowing images as plot/axis labels? #446, Tooltip and Annotation Renderables #696)
- Create architecture.md
- Markers should be classes implementing
IMarkerallowing custom markers (Custom marker shapes #786)
Plottable
- Add options to customize location of L-shaped scale bar (L-shaped scalebar #363)
- Add minRenderIndex and maxRenderIndex to scatter plots (Scatter plots should support max/min render index #566)
- Extend the legend to support horizontal orientation or columns (Arrange legend items horizontally (instead of stacked vertically) #580)
- OHLC bars should show values in a tooltip when the mouse is near them (Tooltip and Annotation Renderables #696). When this is added it seems useful to make a static class with static methods for drawing tooltips, and it can simply be called from any plottable which needs a tooltip drawn.
- Improve efficiency of scatter plot point distance measurements (Highlight point near cursor with pixel space awareness #709)
Controls
- Add print and print preview to user control right click menus (How to print a ScottPlot in WinForms #524)
- Allow the user to define custom left-click behavior (Mouseclick event - get coordinates #739)
- Is click-drag-rectangle multi-point-select possible? If so, make a demo (Select data-points from 2D scatter plot #855)
- Add more error checking and tests to the Control module (Allow user to customize mouse wheel Zoom speed. #940)
Documentation
- Create a Finance Demo (not a cookbook example, but a full demo program) to consolidate common finance-related tasks in one program. This demo should describe how to add live incoming data (Use ImmutableSortedSet for growing data #395, Financial plots with growing data #403, Refactor all controls to use a common back-end #637)
- Work toward enabling CS1591 at the project level
Reactions are currently unavailable