plotlib 0.2.0

Plotting data structures and tools
Documentation
plotlib
=======

``plotlib`` is a generic data visualisation and plotting library for Rust.
It is currently in the very early stages of development.

It can currently produce scatter plot and histograms,
rendering them as either SVG or plain text.

The API is still very much in flux and is subject to change.

For example, code like:

.. code-block:: rust

    extern crate plotlib;
    use plotlib::scatter::Scatter;
    use plotlib::scatter;
    use plotlib::view::View;
    use plotlib::plot::Plot;

    fn main() {
        // Scatter plots expect a list of pairs
        let data1 = [(-3.0, 2.3), (-1.6, 5.3), (0.3, 0.7), (4.3, -1.4), (6.4, 4.3), (8.5, 3.7)];
        // We create our scatter plot from the data
        let s1 = Scatter::from_vec(&data1)
            .style(scatter::Style::new()
                .marker(scatter::Marker::Square) // setting the marker to be a square
                .colour("#DD3355")); // and a custom colour

        // We can plot multiple data sets in the same view
        let data2 = [(-1.4, 2.5), (7.2, -0.3)];
        let s2 = Scatter::from_vec(&data2)
            .style(scatter::Style::new() // uses the default marker
                .colour("#35C788")); // and a different colour

        // The 'view' describeswhat set of data is drawn
        let v = View::new()
            .add(&s1)
            .add(&s2)
            .x_range(-5., 10.)
            .y_range(-2., 6.);

        // A plot with a single view is then saved to an SVG file
        Plot::single(&v).save("scatter.svg");
    }

will produce output like:

.. figure:: scatter.png