AxisJS is a light Angular-based app for generating charts. It combines with the AxisWP WordPress plugin to add rich charting capabilities to WordPress.
AxisJS is built atop the Yeoman Gulp-Angular generator and currently makes use of C3 to build charts.
AxisJS owes a huge debt of gratitude to Quartz's ChartBuilder, from where much of the PNG/SVG output code is taken (in addition to some of the interface design). However, Axis is more extensible and intended to be used for online interactive graphics.
bower install axisjs
- Enable easy integration of various D3-based frameworks into a simple interface
- Enable a wide array of data input methods
- Be modular enough to allow charting frameworks to easily be replaced
- Allow for straight-forward customisation and styling
- Allow for easy integration into existing content management systems
- Allow journalists to easily create charts that are embeddable across a wide array of devices and media
npm install
bower install
gulp build
The source is in the src/
folder, which gets built to dist/
when you do gulp build
.
When working on it, run gulp serve
to invoke a light HTTP server that auto-reloads the page
when you save a file. Styles are in Sass at src/app/index.scss
.
Please do a new feature branch when forking and squash your commits before making a pull request. Pull requests welcomed and encouraged. I especially welcome any documentation or unit testing PRs!
Inline documentation is in ngDoc format and gets built to docs
during gulp build
.
View API docs online here.
- Abstract chart configuration into a provider so that
app/scripts/directives/buildchart.js
andapp/scripts/directives/exportchart.js
aren't so tightly bound to C3 - ALL the unit tests
- Documentation and cleanup of
buildchart.js
andexportchart.js
- Abstract each output format into factories so more can be modularly added
- Abstract out vendor functionality — i.e., make the colour picker replaceable
- Create an external config file with settings like colour scheme
- Improve inline documentation
- Make adding categorical axes more straight-forward
- Create adapters for nvd3 and other SVG-based charting libraries.
- Componentise so it can be easily dropped into any CMS or app