Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.2.x roadmap #3

Closed
14 tasks done
dandelany opened this issue Mar 2, 2016 · 4 comments
Closed
14 tasks done

0.2.x roadmap #3

dandelany opened this issue Mar 2, 2016 · 4 comments

Comments

@dandelany
Copy link
Contributor

dandelany commented Mar 2, 2016

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 and YAxis 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
Copy link
Contributor Author

dandelany commented Mar 11, 2016

API changes

  • All XYPlot axis-related props should now be passed as props to <XAxis /> and <YAxis />, which must be included as children of XYPlot 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
Copy link
Contributor Author

dandelany commented Mar 25, 2016

Progress porting existing charts to 0.2.x/XYPlot2

  • AreaHeatmap
  • BarChart
    • RangeBarChart
    • AreaBarChart
  • Histogram
  • KernelDensityEstimation
  • LineChart
  • MarkerLineChart
  • ScatterPlot

@dandelany
Copy link
Contributor Author

dandelany commented Mar 27, 2016

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 vs LineChart component
  • Use d3 path generator + interpolation for LineChart
  • Unit tests for all chart types
  • auto-determine different class names for chart series?

@dandelany
Copy link
Contributor Author

This is old - 0.2.0 and 0.3.0 have been released. Will open new tickets for remaining outstanding issues for future releases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant