Revision 1 of 2, by Wp on 10-24-2021. The page as it is now.
TAChart Roadmap
Below is a list of items that would be good to have in TAChart. Some of them are planned for implementation by the current maintainer, others will require patches from interested contributors.
Editors
- TChartExtent editor
- series index list editor
- ListSource.DataPoints editor: intergate with YCount
- marks.format/style editor
- margins editor
- subcomponent editor
- add shortcuts, use actions
- convert to grid/checklist, show enabled/active checkboxes
Axises/Transformations
- finish multiaxis
- auto-scaling to percent range
- partial-linear/local zoom transform (?)
- inverted as transformation (?)
- logBase 0 => e ?
- non-decartes axises + XY transform (ternary, polar...)
- various axis marks steps -- logarithmic etc.
- fixed start/step interval source (?)
- use Intervals.Count in custom source
- merge Intervals of axis and source (?)
- advanced axis step controls -- targetStepSize(Pixels/Graph/Axis)...
- test/fix inverted axis
- axis.autoscale as a shortcut(?)
- axis.DateTimeFormat(?)
- axis.Depth
- walls
- YYYMMDD -> datetime transform(?)
- LineRange(?)
- arrows: fill color, pixel-symmetrical
- fixed size/synchronize axis size between linked charts
- "axis breaks" -- transformation?
- Cartesian Distortion: http://bost.ocks.org/mike/fisheye/#cartesian
Series
- 3-d series: <s>bubble, box-and-whiskers(?), OHLC(?),</s> func
- <s>fix 3-d pie series with exploded slices</s>
- bar: <s>pyramid, code, cylinder, prism, </s>number of faces
- bug: all-negative area has no zero plane
- top-down and right-to-left series
- Z axis, XZ and YZ grids
- polar axis
- <s>polar series: labels, brush, pointers</s>
- TConstantLine.Source -- use X only
- 3-d surface
- color map:
- isolines & labels,
- gradients,
- data interpolation, auto-scale colors (thresholds in percent)
- better design-time display,
- transparency threshold (?) / ColorSource.Y as opacity (?)
- <s>range bar series</s>
- Gantt series (bar.starty, bar.startx, bar.endx)
- stacked<s>/donut</s> pie series (?)
- <s>test/fix rotated stacked series</s>
- subcharts
- GIS
- func series: discontinuity pointers
- slopegraphs, sparklines (?)
- <s>arrow series</s>
- use Hare-Niemer integer compensation to make sure that percents always add up to 100% (??)
- pie chart slice grouping: MinSliceSize (?)
- ternary charts (?)
- measurement series
- support infinity in more series
- <s>polygon series</s>
Legend
- ColumnPerGroup
- legend line per stack level
- legendpanel.autosize -> scrollable with scrollbox
- different widths for columns
- arbitrary position
- <s>support clicks on series items</s>
- support FontSeriesColor
Tools
- <s>test/fix many charts per toolset</s>
- <s>remove old reticule</s>
- xorpen/xortext in all drawers
- label editor/notes
- <s>axis tools</s>
- <s>legend click tool</s>
- <s>title/footer click tool</s>
Optimization
- caches: graphpoints, imagepoints, layers/barriers
- image cache for tools
Sources
- OO (incompatible?)
- YList in Marks.Format
- calculated sources: optimization, sliding median, user-defined filter
- derivative: <s>Savitzky-Golay</s>, non-equidistant X
- bug: db-source does not auto-refresh after dataset changes (?)
- <s>support NaN in all series: func, ...</s>
- TColorSource (?)
- more animations
Labels
- fix labels with NaNs
- margins
- more frame shapes: rhumb, hexagon, octagon...
- control shape corner size
- fix/improve pie series label positioning
- "sideband" positioning
- special label attachments: "center", "side center", "nearest point"
- auto-position labels: two-level, generic, GA
- free labels (notes)
- control label attachment (top, bottom, center, ...)
- Styles stored false
- measure non-symmetrical labels correctly
Presentation
- embellishments: gradient, shadow, glow(?)
- color->embellishment mapping(?)
- Generic renderer (?): OpenGL, SVG, true 3-d
- TCanvas-independent API: TChartPen, TChartBrush, TChartFont
- panes (??)
- styles: apply to more series, usecolor, perstack/perpoint
- embelishments from styles ?
Drawers
- transparency in all drawers (print, wmf, ...)
- monochrome in all drawers
- putImage in all drawers
- extract PrepareSimplePen
Chart
- DepthX/DepthY ...or... CameraVector
- navigation: "axis scrollbar", CurrentExtentPen, limit navscrollbar to the extent
- measuring units: pixels, graph, percent
Demos
- crosshair page in tools demo
- zerolevel (?)
- <s>from tutorials</s>
Other
- warnings (incompatible axes in group, ...)
- more documentation
- more tests
- better icons
- lazreport integration
- more tutorials
- wizards
- shapes
- LazLogger
- better teechart compatibility
Internal
- AddSubcomponent => SetParentComponent
- extract TSubcomponentClassRegistry
- <s>LazFreeType in nogui (or even OpenGL)</s>
- bresenham in TesselateRadialPie
- advanced notification
From the Free Pascal wiki, page "TAChart Roadmap", as it stood on 2021-10-24 after a change by Wp, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
