Plots.jl/README.md
Thomas Breloff 2db1bcc690 readme
2015-08-25 09:53:27 -04:00

65 lines
1.5 KiB
Markdown

# Plot
[![Build Status](https://travis-ci.org/tbreloff/Plot.jl.svg?branch=master)](https://travis-ci.org/tbreloff/Plot.jl)
Plotting interface and wrapper for several plotting packages.
First, clone the package, and get any plotting packages you need:
```
Pkg.clone("https://github.com/JuliaPlot/Plot.jl.git")
Pkg.clone("https://github.com/tbreloff/Qwt.jl.git") # requires pyqt and pyqwt
Pkg.add("Gadfly") # might also need to Pkg.checkout("Gadfly") and maybe Colors/Compose... I had trouble with it
```
Now load it in:
```
using Plot
```
Do a plot in Qwt, then save a png:
```
plotter(:Qwt)
plot(1:10)
savepng(ans, Plot.IMG_DIR * "qwt1.png")
```
which saves:
![qwt_plt](img/qwt1.png)
Do a plot in Gadfly, then save a png:
```
plotter(:Gadfly)
plot(1:10)
savepng(ans, Plot.IMG_DIR * "gadfly1.png", 6Gadfly.inch, 4Gadfly.inch)
```
which saves:
![gadfly_plt](img/gadfly1.png)
Note that you do not need all underlying packages to use this. I use Requires.jl to
perform lazy loading of the modules, so there's no initialization until you call `plotter()`.
This has an added benefit that you can call `using Plot` and it should return quickly...
no more waiting for a plotting package to load when you don't even use it. :)
```
julia> tic(); using Plot; toc();
elapsed time: 0.356158445 seconds
julia> tic(); using Gadfly; toc();
WARNING: using Gadfly.Plot in module Main conflicts with an existing identifier.
elapsed time: 3.1334697 seconds
```
# Author
Thomas Breloff (@tbreloff)