plotlib 0.3.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::style::{Marker, Point};
    use plotlib::view::View;
    use plotlib::page::Page;

    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(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' describes what set of data is drawn
        let v = View::new()
            .add(&s1)
            .add(&s2)
            .x_range(-5., 10.)
            .y_range(-2., 6.)
            .x_label("Some varying variable")
            .y_label("The response of something");

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

will produce output like:

.. figure:: scatter.png