2012-02-21 23:50:41 +01:00
|
|
|
# Morris.js - pretty time-series line graphs
|
|
|
|
|
2012-04-02 15:57:15 +02:00
|
|
|
[![Build Status](https://secure.travis-ci.org/oesmith/morris.js.png?branch=master)](http://travis-ci.org/oesmith/morris.js)
|
|
|
|
|
2012-02-21 23:50:41 +01:00
|
|
|
Morris.js is the library that powers the graphs on http://howmanyleft.co.uk/.
|
2012-09-16 00:11:36 +02:00
|
|
|
It's a very simple API for drawing line and donut charts.
|
2012-02-21 23:50:41 +01:00
|
|
|
|
|
|
|
Cheers!
|
|
|
|
|
2012-09-16 00:11:36 +02:00
|
|
|
\- Olly (olly@oesmith.co.uk)
|
2012-02-21 23:50:41 +01:00
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
|
|
|
- [jQuery](http://jquery.com/) (>= 1.7 recommended, but it'll probably work with older versions)
|
|
|
|
- [Raphael.js](http://raphaeljs.com/) (>= 2.0)
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
2012-02-26 02:13:19 +01:00
|
|
|
See [the website](http://oesmith.github.com/morris.js/).
|
2012-02-21 23:50:41 +01:00
|
|
|
|
|
|
|
## Development
|
|
|
|
|
|
|
|
Very daring.
|
|
|
|
|
2012-04-01 23:29:48 +02:00
|
|
|
Fork, hack, possibly even add some tests, then send a pull request :)
|
|
|
|
|
2012-06-26 08:47:36 +02:00
|
|
|
### Developer quick-start
|
|
|
|
|
|
|
|
You'll need [node.js](https://nodejs.org). I recommend using
|
|
|
|
[nvm](https://github.com/creationix/nvm) for installing node in
|
|
|
|
development environments.
|
|
|
|
|
|
|
|
With node installed, install [grunt](https://github.com/cowboy/grunt) using
|
|
|
|
`npm install -g grunt`, and then the rest of the test/build dependencies
|
|
|
|
with `npm install` in the morris.js project folder.
|
|
|
|
|
|
|
|
Once you're all set up, you can compile, minify and run the tests using `grunt`.
|
2012-02-26 02:13:19 +01:00
|
|
|
|
2012-02-28 23:29:33 +01:00
|
|
|
## Changelog
|
|
|
|
|
2012-10-13 11:17:23 +02:00
|
|
|
### 0.3.1 - 13th October 2012
|
|
|
|
|
|
|
|
- Add `formatter` option for customising value labels in donuts [#75](https://github.com/oesmith/morris.js/issues/75).
|
|
|
|
- Cycle `lineColors` on line charts to avoid running out of colours [#78](https://github.com/oesmith/morris.js/issues/78).
|
|
|
|
- Add method to select donut segments. [#79](https://github.com/oesmith/morris.js/issues/79).
|
|
|
|
- Don't go negative on yMin when all y values are zero. [#80](https://github.com/oesmith/morris.js/issues/80).
|
|
|
|
- Don't sort data when parseTime is false [#83](https://github.com/oesmith/morris.js/issues/83).
|
|
|
|
- Customise styling for points. [#87](https://github.com/oesmith/morris.js/issues/87).
|
|
|
|
|
2012-09-16 00:11:36 +02:00
|
|
|
### 0.3.0 - 15th September 2012
|
|
|
|
|
|
|
|
- Donut charts!
|
|
|
|
- Bugfix: ymin/ymax bug [#71](https://github.com/oesmith/morris.js/issues/71).
|
|
|
|
- Bugfix: infinite loop when data indicates horizontal line [#66](https://github.com/oesmith/morris.js/issues/66).
|
|
|
|
|
2012-06-26 09:00:14 +02:00
|
|
|
### 0.2.10 - 26th June 2012
|
|
|
|
|
2012-06-26 09:14:30 +02:00
|
|
|
- Support for decimal labels on y-axis [#58](https://github.com/oesmith/morris.js/issues/58).
|
2012-06-26 09:00:14 +02:00
|
|
|
- Better axis label clipping [#63](https://github.com/oesmith/morris.js/issues/63).
|
|
|
|
- Redraw graphs with updated data using `setData` method [#64](https://github.com/oesmith/morris.js/issues/64).
|
|
|
|
- Bugfix: series with zero or one non-null values [#65](https://github.com/oesmith/morris.js/issues/65).
|
|
|
|
|
2012-05-15 23:39:37 +02:00
|
|
|
### 0.2.9 - 15th May 2012
|
|
|
|
|
|
|
|
- Bugfix: Fix zero-value regression
|
|
|
|
- Bugfix: Don't modify user-supplied data
|
|
|
|
|
2012-05-10 08:41:53 +02:00
|
|
|
### 0.2.8 - 10th May 2012
|
|
|
|
|
|
|
|
- Customising x-axis labels with `xLabelFormat` option
|
|
|
|
- Only use timezones when timezone info is specified
|
|
|
|
- Fix old IE bugs (mostly in examples!)
|
|
|
|
- Added `preunits` and `postunits` options
|
|
|
|
- Better non-continuous series data support
|
|
|
|
|
2012-04-02 22:30:02 +02:00
|
|
|
### 0.2.7 - 2nd April 2012
|
2012-04-01 23:29:48 +02:00
|
|
|
|
2012-04-02 22:30:02 +02:00
|
|
|
- Added `xLabels` option
|
2012-04-01 23:29:48 +02:00
|
|
|
- Refactored x-axis labelling
|
|
|
|
- Better ISO date support
|
|
|
|
- Fix bug with single value in non time-series graphs
|
|
|
|
|
2012-03-18 21:43:58 +01:00
|
|
|
### 0.2.6 - 18th March 2012
|
|
|
|
|
|
|
|
- Partial series support (see `null` y-values in `examples/quarters.html`)
|
|
|
|
- `parseTime` option bugfix for non-time-series data
|
|
|
|
|
2012-03-15 22:48:03 +01:00
|
|
|
### 0.2.5 - 15th March 2012
|
|
|
|
|
|
|
|
- Raw millisecond timestamp support (with `dateFormat` option)
|
|
|
|
- YYYY-MM-DD HH:MM[:SS[.SSS]] date support
|
|
|
|
- Decimal number labels
|
|
|
|
|
2012-03-08 22:04:12 +01:00
|
|
|
### 0.2.4 - 8th March 2012
|
|
|
|
|
|
|
|
- Negative y-values support
|
|
|
|
- `ymin` option
|
|
|
|
- `units` options
|
|
|
|
|
2012-03-06 23:13:18 +01:00
|
|
|
### 0.2.3 - 6th Mar 2012
|
|
|
|
|
|
|
|
- jQuery no-conflict compatibility
|
|
|
|
- Support ISO week-number dates
|
2012-03-08 22:04:12 +01:00
|
|
|
- Optionally hide hover on mouseout (`hideHover`)
|
|
|
|
- Optionally skip parsing dates, treating X values as an equally-spaced series (`parseTime`)
|
2012-03-06 23:13:18 +01:00
|
|
|
|
2012-02-29 22:10:48 +01:00
|
|
|
### 0.2.2 - 29th Feb 2012
|
|
|
|
|
|
|
|
- Bugfix: mouseover error when options.data.length == 2
|
|
|
|
- Automatically sort options.data
|
|
|
|
|
2012-02-28 23:29:33 +01:00
|
|
|
### 0.2.1 - 28th Feb 2012
|
|
|
|
|
|
|
|
- Accept a DOM element *or* an ID in `options.element`
|
|
|
|
- Add `smooth` option
|
|
|
|
- Bugfix: clone `@default`
|
|
|
|
- Add `ymax` option
|
|
|
|
|
2012-02-26 02:13:19 +01:00
|
|
|
## License
|
|
|
|
|
|
|
|
Copyright (c) 2012, Olly Smith
|
|
|
|
All rights reserved.
|
|
|
|
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
2012-09-16 00:11:36 +02:00
|
|
|
modification, are permitted provided that the following conditions are met:
|
2012-02-26 02:13:19 +01:00
|
|
|
|
|
|
|
1. Redistributions of source code must retain the above copyright notice, this
|
2012-09-16 00:11:36 +02:00
|
|
|
list of conditions and the following disclaimer.
|
2012-02-26 02:13:19 +01:00
|
|
|
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
|
|
this list of conditions and the following disclaimer in the documentation
|
2012-09-16 00:11:36 +02:00
|
|
|
and/or other materials provided with the distribution.
|
2012-02-26 02:13:19 +01:00
|
|
|
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
|
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
|
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
|
|
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
|
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
|
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
|
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
|
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|