- Minor version 0.17 is the last one to support Julia 0.6!!
- Minor version 0.11 is the last one to support Julia 0.5!!
- Critical bugfixes only
backports
branch is for Julia 0.5
- All new development should target Julia 0.7!
- fix thickness_scaling for pyplot
- Log-scale heatmap edge computation
- Fix size and dpi for GR and PyPlot
- Fix fillrange with line segments on PyPlot and Plotly
- fix flip for heatmap and image on GR
- New attributes for PGFPlots
- Widen axes for most series types and log scales
- Plotly: fix log scale with no ticks
- Fix axis flip on Plotly
- Fix hover and zcolor interaction in Plotly
- WebIO integration for PlotlyJS backend
- fix single subplot in plotly
- implement
(xyz)lims = :round
- PyPlot: fix bg_legend = invisible()
- set fallback tick specification for axes with discrete values
- restructure of show methods
- Fix contour for PGFPlots
- 32Bit fix: Int64 -> Int
- Make series of shapes and segments toggle together in Plotly(JS)
- Fix marker arguments
- Fix processing order of series recipes
- Fix Plotly(JS) ribbon
- Contour plots with x,y in grid form on PyPlot
- Add GR dependency to make it the default backend
- Improve histogram2d bin estimation
- Allow vector arguments for certain series attributes and support line_z and fill_z on GR, PyPlot, Plotly(JS) and PGFPlots
- Automatic scientific notation for tick labels
- Allow to set the theme in PLOTS_DEFAULTS
- Implement plots_heatmap seriestype providing a Plots recipe for heatmaps
- fix 3D plotting in PyPlot
- Infinite objects
- fix scientific notation for labels in GR
- fix labels with logscale
- fix image cropping with GR
- fix grouping of annotations
- fix annotations in Plotly
- allow saving notebook with plots as pdf from IJulia
- fix fillrange and ribbon for step recipes
- implement native ticks that respond to zoom
- fix bar plot with one bar
- contour labels and colorbar fixes
- interactive linked axis for PyPlot
- add
NamedTuple
syntax to group with named legend - use bar recipe in Plotly
- implement categorical ticks
- improve resolution of png output of GR with savefig()
- add check for ticks=nothing
- allow transparency in heatmaps
- fix line_z for GR
- fix legendcolor for pyplot
- fix pyplot ignoring alpha values of images
- don't let
abline!
change subplot limits - update showtheme recipe
- fix plotly bar lines bug
- allow passing multiple series to
ribbon
- add a new example for
line_z
- Add linestyle argument to the legend
- Plotly: bar_width and stroke_width support for bar plots
- abline! does not change axis limits
- Fix default log scale ticks in GR backend
- Use the :fontsize keys so the scalefontsizes command works
- Prepare support for new PlotTheme type in PlotThemes
- remove use of imagemagick; saving gifs now requires ffmpeg
- improvements to ffmpeg gif quality and speed
- overhaul of fonts, allows setting fonts in recipes and with magic arguments
- added
camera
attribute to control camera position for 3d plots - added
showaxis
attribute to control which axes to display - improvements of polar plots axes, and better backend consistency
- changed the 'spy' recipe back to using heatmap
- added
scatterpath
seriestype - allow plotlyjs to save svg
- add
reset_defaults()
function to reset plot defaults - update syntax to 0.6
- make
fill = true
fill to 0 rather than to 1 - use new
@df
syntax in StatPlots examples - allow changing the color of legend box
- implement
title_location
for gr - add
hline
marker to pgfplots - fixes errorbars - pyplot legends now show marker types
- pyplot colorbars take font style from y axis
- pyplot tickmarks color the same as axis color
- allow setting linewidth for contour in gr
- allow legend to be outside plot area for pgfplots
- expand axis extrema for heatmap
- extendg grid lines to axis limits
- fix
line_z
for pyplot and gr - fixed colorbar problem for flipped axes with gr
- fix marker_z for 3d plots in gr
- fix
weights
functionality for histograms - fix gr annotations with colorbar
- fix aspect ratio in gr
- fix "hidden window" problem after savefig in gr
- fix pgfplots logscale ticks error
- fix pgfplots legends symbols
- fix axis linking for plotlyjs
- fix plotting of grayscale images
- fix a bug when passing a vector of functions with no bounds (e.g.
plot([sin, cos])
) - export
pct
andpx
from Plots.PlotMeasures
- support
plotattributes
rather thand
in recipes - no longer export
w
,h
and names from Measures.jl; useusing Plots.PlotMeasures
to get these names back bar_width
now depends on the minimum distance between bars, not the mean- better automatic x axis limits for plotting Functions
tick_direction
attribute now allows ticks to be on the inside of the plot border- removed a bug where
p1 = plot(randn(10)); plot(p1, p2)
madedisplay(p1)
impossible - allow
plot([])
to generate an empty plot - add
origin
framestyle - ensure finite bin number on histograms with only one unique value
- better automatic histogram bins for 2d histograms
- more informative error message on passing unsupported seriestype in a recipe
- allow grouping in user recipes
- GR now has
line_z
andfill_z
attributes for determining the color of shapes and lines - change GR default view angle for 3D plots to match that of PyPlot
- fix
clims
on GR - fix
marker_z
for plotly backend - implement
framestyle
for plotly - fix logscale bug error for values < 1e-16 on pyplot
- fix an issue on pyplot where >1 colorbar would be shown if there was >1 series
- fix
writemime
for eps
- added a new
framestyle
argument with choices: :box, :semi, :axes, :grid and :none - changed the default bar width to 0.8
- added working ribbon to plotly backend
- ensure that automatic ticks always generate 4 to 8 ticks
- group now groups keyword arguments of the same length as the input
- allow passing DateTime objects as ticks
- allow specifying the number of ticks as an integre
- fix bug on errorbars in gr
- fixed some but not all world age issues
- better margin with room for text
- added a
match
option for linecolor - better error message un unsupported series types
- add a 'stride' keyword for the pyplot backend
- new grid line style defaults
grid
is now an axis attribute and a magic argument: it is now possible to modify the grid line style, alpha and line width- Enforce plot order in user recipes
- import
plot!
from RecipesBase - GR no longer automatically handles _ and ^ in texts
- fix GR colorbar for scatter plots
- fix an issue with Juno/PlotlyJS compatibility on new installations
- fix markers not showing up in seriesrecipes using :scatter
- don't use pywrap in the pyplot backend
- improve the bottom margin for the gr backend
- fix deprecation warnings
- switch from FixedSizeArrays to StaticArrays.FixedSizeArrays
- drop FactCheck in tests
- remove julia 0.5 compliant uses of transpose operator
- fix GR heatmap bugs
- fix GR guide padding
- improve legend markers in GR
- add surface alpha for Plotly(JS)
- add fillrange to Plotly(JS)
- allow usage of Matplotlib 1.5 with PyPlot
- fix GLVisualize for julia 0.6
- conform to changes in InspectDR
- 0.6 only
- add HDF5 backend
- GR replaces PyPlot as first-choice backend
- support for legend position in GR
- smaller markers in GR
- better viewport size in GR
- fix glvisualize support
- remove bug with three-argument method of
text
legendtitle
attribute added- add test for
spy
- julia 0.6 compatibility
- matplotlib 2.0 compatibility
- add inspectdr backend
- improved histogram functionality:
- added a
:stephist
and:scatterhist
series type as well as ``:barhist` (the default) - support for log scale axes with histograms
- support for plotting
StatsBase.Histogram
- allowing bins to be specified as
:sturges
,:rice
,:scott
or :fd - allow
normalization
to be specified as :density (for unequal bins) or :pdf (sum to 1) - add a
plotattr
function to access documentation for Plots attribute - add
fill_z
attribute for pyplot - add colorbar_title to plotlyjs
- enable standalone window for plotlyjs
- improved support for pgfplots, ticks rotation, clims, series_annotations
- restore colorbars for GR
- better axis labels for heatmap in GR
- better marker sizes in GR
- fix color representation in GR
- update GR legend
- fix image bug on GR
- fix glvisualize dependencies
- set dotted grid lines for pyplot
- several improvements to inspectdr
- improved tick positions for TimeType x axes
- support for improved color gradient capability in PlotUtils
- add a showlibrary recipe to display color libraries
- add a showgradient recipe to display color gradients
- add
vectorfield
as an alias forquiver
- use
PlotUtils.adaptedgrid
for functions
- added dependency on PlotThemes
- set_theme --> theme
- remove Compat from REQUIRE
- warning for DataFrames without StatPlots
- closeall exported and implemented for gr/pyplot
- fix DateTime recipe
- reset theme with theme(:none)
- fix link_axes! for nested subplots
- fix plotly lims for log scale
- optimizations surrounding Subplot.series_list
- better Atom support, support plotlyjs
- gr:
- gks_wstype defaults and gr_set_output
- heatmap uses GR.drawimage
- histogram2d puts NaN for zeros
- improved support of NaN in heatmaps
- rebuilt spy recipes to output scatters with marker_z set
- deprecate png support in plotly... point to plotlyjs
- fixes:
- axis widen with lims set
- reset_extrema, setxyz
- bar plot widen
- better tick padding
- consistent tick rotation
- consistent aspect_ratio
- pyplot dpi
- plotly horizontal bars
- handle series attributes when combining subplots
- gr images transposed
- converted Date/DateTime to new type recipe approach for arrays
- issues closed include: #505 #513 #479 #523 #526 #529
- support pdf and eps in plotlyjs backend
- allow curly after grid:
@layout [a b; grid(4,4){0.8h}]
- add_backend redesign
- glvisualize backend (@SimonDanisch)
- too much to list! ready for alpha testing
- Volume and volume seriestype
- Atom: support for PlotPane and proper gui display
- gr:
- clims
- aspect ratio
- pgfplots:
- fixes for ticks, axes, and more
- pyplot:
- font families
- colorbar guide
- pixel marker
- unicodeplots
- basic support for shapes
- improved add_backend
- refactor of is_supported methods
- element-wise type recipes (see JuliaPlots#460 (comment))
- several other fixes/improvements
- Pkg.dir --> dirname (@tkelman)
axis = nothing
magic- fixes:
- clim for line_z
- sticks default range for log scale
- rotate method
- pyplot heatmap
- spurious scale warnings
- gr image/alpha
- plotly.js path
- orientation extrema
- bar, reset orientation
- switch transpose_z to use permutedims
- skinny x/+ markers
- ticks in pgfplots
- eps in savefig (@anriseth)
- add_backend convenience
- type recipes for Date/DateTime (@maximsch2)
- mirror attribute and twinx convenience
- Axis.sp --> Axis.sps
- recipe postprocessing for allowing aliases and magic args in recipe bodies
- fixes to cycle
- add back single function recipe:
plot!(cos)
- new axis formatter attribute... accepts functions to convert numbers to strings
- fix for inset plots
- GR:
- fillrange fix
- annotations fix
- force double buffering in display
- plotly ticks fix
- unicodeplots size fix
- remove mkdir call in tests
- manual drawing of axes/ticks/labels
- get_ticks uses optimize_ticks and Showoff
- changed PLOTS_DEFAULTS to be a global variable, not ENV key
- parameterized Segments for pushing tuples
- fix to axis extrema for Bool/nothing
- GR:
- manually draw 2D axes... fixes several issues and missing features
- fontsize fix
- PGFPlots: pass axis syle
- added dependency on PlotUtils
- BREAKING: removed DataFrames support (now in StatPlots.jl)
- BREAKING: removed boxplot/violin/density recipes (now in StatPlots.jl)
- GR:
- inline iterm2 support
- trisurface support
- heatmap fix
- PyPlot:
- ijulia display fix
- GLVisualize:
- first try with shapes
- iter_segments improvements
- bar_width support
- horizontal bars
- improve tick display
- better shape handling in pyplot, plotly
- improved padding calcs
- internal reorg of _plots method, add pipeline.jl
- GR: LaTeX support
- Changed docs url to juliaplots.github.io
- added
contourf
seriestype - allow
plt[1]
to return first Subplot - allow
sp[1]
to return the first Series of the Subplot series[k]
now passes through toseries.d[k]
- allow calling
plot!(sp, ...)
to update a target Subplot - PyPlot: zorder fix
- new DataFrames logic/recipe: more flexible/robust and allow Symbols for:
(:fillrange, :line_z, :marker_z, :markersize, :ribbon, :weights, :xerror, :yerror)
- new
display_type
andextra_kwargs
plot attributes - surface fix
- added snooped precompiles, but left commented out
- GR fixes: markersize, shapes, legends
- fixes to recipes
- turned on Appveyor
- rebuild violin and boxplot recipes
- "plot recipes"
cgrad
method for easy color gradient creation- improvements to inset subplots
- Segments and iter_segments for NaN-separated vectors
bar
recipe now creates ashape
series- writemime fix for Interact.jl
link = :square
option- !!! set
shape
attributes with line/fill, NOT marker/markerstroke !!! - basic DPI support
- moved chorddiagram to PlotRecipes
- GR:
- use temp files for img output
- basic support for marker strokes and other marker fixes
- PyPlot:
- Switch to recipes for bar, histogram, histogram2d
- GLVisualize
- subplots
- path/scatter and path3d/scatter3d
- initial drawing of axes
- many smaller fixes and improvements
- line_z arg for multicolored line segments
- pyplot
- line_z (2d and 3d)
- pushed all fig updates into display pipeline
- remove native sticks/hline/vline in favor of recipes
- unicodeplots cleanup, ijulia fixes, ascii canvas
curves
series typeiter_segments
iterator- moved arcdiagram out and into PlotRecipes (thanks @diegozea)
- several other fixes/checks
- inset (floating) subplots
- change: when setting subplot/axis args from user recipes, they should apply only to their own subplot
- trim for violin/boxplot
- scatter3d recipe
- removed plotly.js in favor of build.jl download
- improvements/fixes to pgfplots backend
- improvements/fixes to plotly/plotlyjs backends
- titles are annotations and properly placed with title_position
- hover attribute
- shapes (almost)
- scattergl
- minimum perimeter logic in layout calc... fixed misaligned subplots
- new clims attribute
- more options for test_examples
- GR refactor
- added transparency
- moved axis/grid logic out of series loop
- generalized 3d and polar projections
- renamed get_mod to Base.cycle
- pyplot log scale fixes
- PLOTS_DEFAULTS environment var processing
- rename :ellipse to :circle, :ellipse is now an alias
- supported args/types cleanup
- seriestype dependency methods and
@deps
macro - bbox
h_anchor
/v_anchor
- new axis arg:
:link
is a list of subplots to link axes with - cleanup/simplification of glvisualize backend
- Check out the summary
- Revamped and simplified internals
- Recipes, recipes, recipes
- Layouts and Subplots
- DataFrames is loaded automatically when installed
- Overhaul to GroupBy mechanic (now offloads to a recipe)
- Replaced much of the argument processing with recipes
- Added series recipes, and began to strip down un-needed backend code. Some recipes:
- line, step, sticks, bar, histogram, histogram2d, boxplot, violin, quiver, errorbars, density, ohlc
- Added
@shorthands
and@userplot
macros for recipe convenience - Better handling of errorbars and ribbons
- New Axis type
- Tracks extrema and discrete values
- New
link_axes
functionality
linetype
has been renamedseriestype
(the alias is reversed)- Many fixes and huge cleanup in GR
- Brand new subplot layout mechanics:
@layout
macro- AbstractLayout, Subplot, GridLayout, and everything related
- Added dependency on Measures.jl
- Computations of axis/guide sizes and precise positioning
- Refactored and compartmentalized default dictionaries for attributes
- Deprecated Gadfly and Immerse backends
- Added
series_annotations
attribute (previously that functionality was merged withannotations
, which are not series-specific) - Removed
axis
attribute... currently not supporting twin (right) y axes - Check for
ENV["PLOTS_USE_ATOM_PLOTPANE"]
and default to false - Improved backend interface to reduce redundant code. Template updated.
- Added
html_output_format
, primarily for choosing between png and svg output in IJulia. - Partial support of Julia v0.5
- Switched testing to dump reference images to JuliaPlots/PlotReferenceImages.jl
- Moved docs-specific code to new JuliaPlots/PlotDocs.jl
- Moved example list from ExamplePlots into Plots.
- Added several examples and improved others.
- Many other smaller changes and bug fixes.
linewidth
fixesmarkershape
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
- 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
rotation
keyword- improved supported graphs
- subplot bug fix
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) const KW = Dict{Symbol,Any}
used in place of splatting in many places- png generation for plotly backend using wkhtmltoimage
normalize
andweights
keywords- background/foreground subcategories for fine-tuning of looks
add_theme
/set_theme
and ggplot2 theme (see this issue)PLOTS_DEFAULT_BACKEND
environment variablebarh
linetype- support for non-gridded surfaces with pyplot's trisurface
- pyplot surface zcolor
- internal refactor of supported.jl
wrap
method to bypass input processingtranslate
,scale
androtate
methods for coordinates and shapes- and many more minor fixes and improvements
- old heatmaps have been renamed to hist2d, and true heatmaps implemented (see JuliaPlots#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 JuliaPlots#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
@gif
macro withevery
/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...
- 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://juliaplots.github.io/
- Overhaul to
:legend
keyword (see JuliaPlots#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 JuliaPlots#111 (comment)) - allow Function for
:fillrange
andzcolor
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
with
function for temporary defaults- contours
- basic 3D plotting
- preliminary support for Bokeh
stroke
andbrush
for more fine-tuned control over visuals- smarter "magic" arguments:
line
,marker