ScottPlot Code Metrics
This project contains 95,032 lines (72,442 coding) across 1,026 source files
Lines of Code
- ScottPlot 4: 69,667 lines (52,076 coding) across 661 source files
- Library: 69,667 lines (52,076 coding) across 661 source files
- Tests: 11,247 lines (8,704 coding) across 122 source files
- Cookbook: 10,555 lines (8,320 coding) across 98 source files
- Demos: 7,197 lines (5,528 coding) across 108 source files
- ScottPlot 5: 24,294 lines (19,512 coding) across 344 source files
- Library: 18,135 lines (14,669 coding) across 235 source files
- Tests: 728 lines (604 coding) across 18 source files
- Cookbook: 2,212 lines (1,748 coding) across 40 source files
- Demos: 439 lines (353 coding) across 9 source files
- Shared Code: 475 lines (379 coding) across 9 source files
TODOs (63)
- AvaPlot.axaml.cs:147 mark this obsolete in ScottPlot 5.0 (favor Refresh)
- AvaPlot.axaml.cs:150 mark this obsolete in ScottPlot 5.0 (favor Refresh)
- SignalConst.cs:7 need an example showing how to update data
- WpfConfig.xaml.cs:28 use proper binding (perhaps with the configuration object itself?)
- Population.cs:11 add tests to check mean, stdev, stderr, etc. of a known population
- FormsPlot.cs:190 mark this obsolete in ScottPlot 5.0 (favor Refresh)
- FormsPlot.cs:209 mark this obsolete in ScottPlot 5.0 (favor Refresh)
- FormsPlotLegendViewer.cs:187 streamline this
- WpfPlot.cs:303 mark this obsolete in ScottPlot 5.0 (favor Refresh)
- WpfPlot.cs:320 mark this obsolete in ScottPlot 5.0 (favor Refresh)
- Backend.cs:603 refactor to better support async
- Backend.cs:604 document that draggable events aren't supported by the render queue
- MultiPlot.cs:72 use jpgEncoder to set custom compression level
- Plot.Add.cs:1350 FIX THIS!!!
- Plot.Add.cs:1482 refactor constructor to eliminate styling arguments
- Plot.cs:59 obsolete this
- Plot.Render.cs:275 use jpgEncoder to set custom compression level
- BinnedHistogram.cs:132 scale and shift
- BinnedHistogram.cs:136 flag to control this behavior
- ClevelandDotPlot.cs:43 don't expose these, instead put them behind an Update() method
- CoxcombPlot.cs:54 avoid this name in the future (see #1948)
- Wipe.cs:11 Add a BlankFraction property that adds a gap between old and new data
- ErrorBar.cs:174 Should we validate that errors are all positive?
- Heatmap.cs:279 are these calculated and never used?
- PiePlot.cs:269 move length checking logic into new validation system (triaged March, 2021)
- RadarPlot.cs:73 avoid this name in the future (see #1948)
- RadialGauge.cs:179 use this so font size is in pixels not pt
- ScatterPlot.cs:133 think about better/additional API ?
- ScatterPlot.cs:257 don't use an array for this
- ScatterPlot.cs:316 don't use an array for this
- SignalPlotXYGeneric.cs:75 document this
- Axis.cs:326 cutt X and Y out of this
- AxisLabel.cs:108 use ImagePadding instead of fractional padding
- AxisTicks.cs:64 store the TickCollection in the Axis module, not in the Ticks module.
- Settings.cs:576 dont require data offset shifting prior to calling this
- Settings.cs:616 separate this into distinct X and Y functions (requires refactoring plottable interface)
- Finance.cs:33 could optimize this for perforance by not copying
- AvaPlot.axaml.cs:50 Copying images to the clipboard is still difficult in Avalonia https://github.com/AvaloniaUI/Avalonia/issues/3588
- EtoPlot.cs:170 launch a pop-up window indicating if extension is invalid or save failed
- FormsPlot.cs:45 replace this with an annotation instead of title
- WinUIPlot.cs:166 launch a pop-up window or otherwise inform if AppWindow is not set before using save-dialog
- WinUIPlot.cs:175 launch a pop-up window indicating if extension is invalid or save failed
- WpfPlot.cs:129 launch a pop-up window indicating if extension is invalid or save failed
- MarkdownPage.cs:29 add version details
- RecipeBase.cs:34 create test to assert true for all tests
- Bar.cs:54 the bars API needs to be greatly simplified
- Box.cs:23 move this functionality to the RandomDataGenerator class
- Box.cs:49 construct 3 boxes manually with hard-coded numerical values for simplicity
- Box.cs:92 construct 3 boxes manually with hard-coded numerical values for simplicity
- Box.cs:133 construct 3 boxes manually with hard-coded numerical values for simplicity
- App.xaml.cs:70 Load state from previously suspended application
- App.xaml.cs:113 Save the application state and stop any background activity
- IPlottable.cs:32 pass a canvas and FinalLayout instead. Consider passing datarect too (currently inside IAxes).
- Common.cs:65 make LegendSymbol its own object that include size and padding
- LineStyle.cs:12 make this a settable property
- Plot.cs:131 throw if custom axes in use
- Plot.cs:327 multi-axis support
- BoxPlot.cs:189 outlining doesn't look quite right
- Signal.cs:66 put GetRange in axis translator
- Centisecond.cs:18 This assumes colons as the separators, but consider (some) French-language locales use 12h30 rather than 12:30
- Decisecond.cs:17 This assumes colons as the separators, but consider (some) French-language locales use 12h30 rather than 12:30
- Millisecond.cs:17 This assumes colons as the separators, but consider (some) French-language locales use 12h30 rather than 12:30
- Year.cs:21 move this into extension methods file
Generated 07/15/2023 16:07:25