Plots.jl/NEWS.md

5.9 KiB

Plots.jl NEWS

notes on release changes, ongoing development, and future planned work

  • I (@tbreloff) am in development of totally revamped internals, in which much of the logic in building series is changed to recursively stacking recipes in a modular fashion. I'll write a blog post sometime soon detailing why this is amazing, but for now you can get a taste of it by looking at the RecipesBase readme
  • Version 0.6.2 will be the last full release of the "Old Plots", and the 0.6 minor will be only small bug fixes.
  • All new development should target 0.7 (recipes and subplots)!

0.7 (WIP on tb_recipes/dev and master)

Version 0.6

0.6.2

  • linewidth fixes
  • markershape fix
  • converted center calc to centroid for shapes
  • new dependency on RecipesBase
  • REQUIRE upper limit for RecipesBase: 0.0.1
  • GR fixes/improvements (@jheinen)
    • support zlims, bins
    • allow Plots colormaps
    • other bug fixes
    • native image support
  • PGFPlots fixes/improvements (@pkofod)
  • DataFrames are handled by recipes
  • Plotly: zaxis, tick rotation, 3d axis fix
  • Improvements in handling discrete data
  • Support for image display
  • arrow keyword and support for adding arrows to paths
  • changed quiver recipe to use arrows
  • Bug fixes for boxplots, heatmaps, and more

0.6.1

  • rotation keyword
  • improved supported graphs
  • subplot bug fix

0.6.0

  • apply_series_recipe framework for built-in recipes
  • boxplot/violin recipes
  • errorbar/ribbon recipes
  • quiver recipe
  • polar coordinates
  • better support for shapes and custom polygons (see batman)
  • z-axis keywords
  • 3D indexing overhaul: push!, append! support
  • matplotlib colormap constants (:inferno is the new default colormap for Plots)
  • typealias KW Dict{Symbol,Any} used in place of splatting in many places
  • png generation for plotly backend using wkhtmltoimage
  • normalize and weights keywords
  • background/foreground subcategories for fine-tuning of looks
  • add_theme/set_theme and ggplot2 theme (see this issue)
  • PLOTS_DEFAULT_BACKEND environment variable
  • barh linetype
  • support for non-gridded surfaces with pyplot's trisurface
  • pyplot surface zcolor
  • internal refactor of supported.jl
  • wrap method to bypass input processing
  • translate, scale and rotate methods for coordinates and shapes
  • and many more minor fixes and improvements

0.5.4

  • old heatmaps have been renamed to hist2d, and true heatmaps implemented (see https://github.com/tbreloff/Plots.jl/issues/147)
  • lots of reorganization and redesign of the internals
  • lots of renaming to keep to conventions: AbstractPlot, AbstractBackend, etc
  • initial redesign of layouts
  • integration with Atom PlotPane
  • arc diagram and chord diagram (thanks to @diegozea: see https://github.com/tbreloff/Plots.jl/issues/163)
  • work on GR, GLVisualize, and PGFPlots backends (thanks @jheinen @dlfivefifty @pkofod)
  • improvements to Plotly setup (thanks @spencerlyon2)
  • overhaul to series creation logic and groupby mechanic
  • replace Dict with typealias KW Dict{Symbol,Any} in many places, also replacing keyword arg splatting
  • new shape linetype for plotting polygons in plot-coordinates (see https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/batman.ipynb)
  • many other fixes

0.5.3

  • @gif macro with every/when syntax
  • bezier curves and other graph drawing helpers
  • added FixedSizeArrays dependency with relevant functionality
  • merged lots of improvements to GR (thanks @jheinen)
  • overwrite_figure/reuse arg for reusing the same figure window
  • deprecated Qwt, Winston, and Bokeh backends
  • improved handling of 3D inputs (call z=rand(10,10); surface(z) for example)
  • fix IJulia display issue
  • lots of progress on PlotlyJS backend
  • and many other changes and fixes...

0.5.2

  • Added GR.jl as a backend (unfinished but functional) All credit to @jheinen
  • Set defaults within backend calls (i.e. gadfly(legend=false))
  • abline!; also extrema allows plotting functions without giving x (i.e. plot(cos, 0, 10); plot!(sin)) @pkofod @joshday
  • Integration with PlotlyJS.jl for using Plotly inside a Blink window @spencerlyon2
  • The Plotly backend has been split into my built-in version (plotly()) and @spencerlyon2's backend (plotlyjs())
  • Revamped backend setup code for easily adding new backends
  • New docs (WIP) at http://plots.readthedocs.org/
  • Overhaul to :legend keyword (see https://github.com/tbreloff/Plots.jl/issues/135)
  • New dependency on Requires, allows auto-loading of DataFrames support
  • Support for plotting lists of Tuples and FixedSizeArrays
  • new @animate macro for super simple animations (see https://github.com/tbreloff/Plots.jl/issues/111#issuecomment-181515616)
  • allow Function for :fillrange and zcolor arguments (for example: scatter(sin, 0:10, marker=15, fill=(cos,0.4), zcolor=sin))
  • allow vectors of PlotText without x/y coords (for example: scatter(rand(10), m=20, ann=map(text, 1:10)))
  • Lots and lots of fixes

0.5.1

0.5.0

  • with function for temporary defaults
  • contours
  • basic 3D plotting
  • preliminary support for Bokeh
  • stroke and brush for more fine-tuned control over visuals
  • smarter "magic" arguments: line, marker