0.2.x roadmap
dandelany opened this issue · 4 comments
dandelany commented
Work has begun on v0.2.0 and will be tracked in the 0.2.x
branch. Main objectives are:
- Improved label layout features and speed due to better pre-emptive label measuring.
- More modularization of component structure - export parts of charts, not just entire charts, so the parts can be composed individually.
- Encapsulation of reusable and extractable Component features using higher-order components. Not just for DRY-ness, but to make the Components themselves as simple as possible.
The feature roadmap will be tracked in this checklist, which we'll add to and edit as we go along:
- Refactor mouse events on new XYPlot component
- Production build of examples sandbox, for performance testing
- Port existing charts to new XYPlot format (see below)
-
Bar
component -
RangeRect
component - Use class-type components instead of
createClass
-
resolveXYScales
HOC to resolve scale prop from domain/range/data/size/etc. -
resolveObjectProps
HOC to handle setting default props for{x,y}
and{top, bottom, left, right}
shaped props - Use
measure-text
to pre-measure labels -
XAxis
andYAxis
components - Unit test which renders the examples
- Update
lodash
to 4.5.x - Add
babel
plugin for ESNext class properties - Axis label placement - see AUDINP-232
dandelany commented
API changes
- All
XYPlot
axis-related props should now be passed as props to<XAxis />
and<YAxis />
, which must be included as children ofXYPlot
for axes to be rendered. -
axisType
-->scaleType
- Now there is "scaleType" vs "dataType", both have changed a bit
-
invertAxis
-->invertScale
-
getValue
-->getX
/getY
-
scaleWidth
/scaleHeight
-->width
/height
in sub-xyplot-charts? -
AreaHeatmap
-->RectAreaHeatmap
dandelany commented
Progress porting existing charts to 0.2.x/XYPlot2
- AreaHeatmap
- BarChart
- RangeBarChart
- AreaBarChart
- Histogram
- KernelDensityEstimation
- LineChart
- MarkerLineChart
- ScatterPlot
dandelany commented
Future plans (out of scope for 0.2.x)
- Resolve questions about plotWidth vs. scaleWidth vs. width (& height) in XYPlot charts
- Pre-defined common interactions for eg. scrubbing, zooming, tooltips.
- PureRender/shouldComponentUpdate for all chart/axis components
- Automatically determine axis tickCount (and therefore # of axis labels) by bumping down the # of ticks until all of the labels fit
- Rotated axis value labels (90 degrees or arbitrary rotation? how to handle collision detection?)
- Y Axis value label vertical & horizontal alignment
-
position: 'zero'
option for X/Y Axis and subcomponents - place the axis on the scale's zero line, wherever it falls. -
extraMargin
/minMargin
props? - Key attributes for scatterplot points
- Axis label alignment - see AUDINP-233
-
MarkerLine
component -
LineSeries
vsLineChart
component - Use
d3
path generator + interpolation forLineChart
- Unit tests for all chart types
- auto-determine different class names for chart series?
dandelany commented
This is old - 0.2.0 and 0.3.0 have been released. Will open new tickets for remaining outstanding issues for future releases.