----------------------------------------------------------------
New features
* new labs, xlab & ylab functions for easily modifying axis labels and legend titles
* qplot now guesses what geom you want based on the position aesthetics that you provide:
* both x & y: scatterplot
* only x: histogram
* only y: scatterplot of seq_along(y) vs y
* scale_datetime: a first attempt at a scale for date time objects of class POSIXt
Aesthetic improvements
* legends should now work in cases where you have multiple layers the use the
same geom and have different aesthetic mappings
* theme: new theme setting legend.key.size determines size of keys in legend
* theme: new theme setting plot.margins to control the plot margins
* tweaks to plot and legend layout
Other minor improvements
* geom_point warns if missing values present in data and not displayed on plot
* geom_smooth gives a more accurate warning when you have incorrectly specified the grouping
* geom_smooth will switch to an alternative smoothing method (mgcv::gam(y ~
s(x, bs = "cr"))), when there are more than 1000 observations
* layers gain a legend argument, which allow you to force the layer either
into (TRUE) or out of (FALSE) the legend
Bug fixes
* coord_equal now calculates scales correctly again
* coord_flip: flips axes labels again too
* coord_trans fix bug where transformation incorrect
* facet_grid: fix bug where tick labels where being produced outside the range of the axes
* facet_wrap: fixed bug with ncol = 1 or nrow = 1
* facet_wrap: labels correctly clipped to axis ranges
* facet_wrap: labels will match panels even when factor levels are not in alphabetical order
* facet_wrap: now works when a layer doesn't contain every level of the faceting variables
* geom_abline should now work in a wider variety of situations
* geom_smooth now gives correct asymmetric standard errors with generalised
linear models (thanks to Thierry Onkelinx)
* geom_vline and geom_hline now correctly transform their intercepts if the
scale is transformed
* geom_vline and geom_hline: now use xintercept and yintercept instead of intercept
* legend.position and legend.justification work again
* position_dodge now works for any number of elements with smaller widths, not just 2!
* scale_discrete_position: does a better job of calculating axis limits when
plotting a mixture of continuous and discrete values (e.g. with geom_jitter)
* summary: tweaks to improve output
ggplot2 0.8 (2008-11-18)
----------------------------------------
* The two biggest new features in this release are the (long awaited) ability
to have scales that vary between facets, and a faceting system that works
like lattice (facet_wrap). From qplot, you can use facet_wrap by specifying
one sided formula (~ colour, as opposed to . ~ color). To see some potential
uses for these new features, see the "Positioning" chapter of the book.
Implementing these changes has required a rewrite of large parts of the
coordinate systems code, so if anything seems strange with non-Cartesian
coordinate systems, please get in touch.
* I've also made another round of tweaks to make the plots more aesthetically
pleasing.This includes using a bright blue colour for geoms used to add
statistical summaries to plots (contour, smooth, and quantiles), and
tweaking the default colour scheme for the continuous colour scale.Please
let me know what you think.Remember that most of these options are
controllable with the theming system - see the book chapter "Polishing your
plots for publication".
* Accompanying this new release of the package is an updated and expanded
version of the book. The content of the book is now largely complete (~170
pages), and over the coming months I will be working on make it polished and
easy to understand.See http://had.co.nz/ggplot2/book.I love to hear your
feedback about the book, but at this point please don't bother reporting
minor typos, I would much rather hear about what you want to do, but can't
figure out from the book.
Other new features:
* geom_bin2d/stat_bin2d & geom_hex/stat_binhex: for 2d square and hexagon binning, particularly useful for alleviating overplotting in scatterplots
* geom_freqpoly: draws frequency polygons (= stat_bin + geom_line)
* scale_position: both discrete and continuous gain a new formatter argument
to control the default formatting of the axis labels. See also the handy
numeric formatters: dollar, comma and percent
* the xlim and ylim functions now produce discrete scales when appropriate,
and generate a reverse scale if the minimum is greater than the maximum
Improvements
* coord_map gains experimental axis labels
* facet_grid: new support for varying scales in rows and columns
* facet_wrap: new faceter which wraps a 1d ribbon of panels into 2d, in a
similar way to lattice
* geom_bin: gains a drop argument to control whether or not 0 count bins
should be removed
* geom_path and geom_line gain arrows argument to match geom_segment
* ggsave now checks that you are using it with a ggplot plot
* ggsave now produces postscript files that are suitable for embedding in
another document
* ggsave now recognises the .svg extension and will produce svg files, if
possible
* ggsave: default dpi changed to 300, on the assumption that you are saving
the plot for printing
* qplot: uses facet_wrap if formula looks like ~ a + b (as opposed to a ~ b)
Aesthetic tweaks
* geom_bar, geom_polygon, geom_rect, ...: default fill colour is now much
closer to black to match the defaults in other geoms (point, line, etc)
* geom_line, geom_path, geom_segment: lines have squared ends
* geom_point, geom_pointrange and geom_boxplot: now use shape = 16 instead of
19. This shape does not have a border from R 2.8 on, and so will look
better when displayed transparently.
* geom_contour, geom_density2d, geom_quantile and geom_smooth use a bright
blue colour for lines, to make them stand out when used with black points
* scale_gradient: tweaked default colours to make more aesthetically pleasing
* theme: new theme setting panel.margin (a unit) controls gap between panels
in facetted plots (for both grid and wrap)
* theme_gray: removed black border around strips
* theme_bw: tweaks to make black and white theme look a little nicer
Bug fixes
* coord_cartesian now correctly clips instead of dropping points outside of its limits
* facet_grid: margins now grouped correctly in default case (non-aesthetic
variables ignored when generating default group value)
* facet_grid: fix long standing bug when combining datasets with different
levels of facetting variable
* geom_smooth calls stat::predict explicitly to avoid conflicts with packages
that override predict for S4 model classes
* grid: correctly expose subcomponents of strips and axes
* mapping aesthetics to functions of stat output now works in a much wider
variety of cases
* order aesthetic should now work with bars (and in general more geoms)
* position_dodge now works with points and other geoms that lack xmin and xmax
* scale_area works once more
* scale_discrete_position: empty levels are no longer displayed by default, if
you want them, use breaks = levels(myfactor)
* scale_discrete_position: fixed bug when limits were set
* scale_discrete_position: more aesthetically pleasing expansion for a wider
ranges of plots (picks expansion based on whether or not geom with width
used, e.g. bars)
* scale_gradient*: axes are correctly labelled when a transformation is used
* scale_x_log10, scale_y_sqrt etc now correctly transform output from
statistics as well as raw data
* scale_z_* now removed because no longer used by anything
* stat_bin: correctly returns 0 when no observations in a bin (was previously
returning NA)
* stat_quantreg: deal with yet another new output format from quantreg
* stat_contour now has arguments to control the position of the contours,
rather than relying on the z scale
* theme: panel.empty setting removed as it is no longer used
* theme_grey now aliased to theme_gray
* theme_line: setting size works correctly
* theme_rect, theme_segment: size now measured in mm, to be consistent with
the rest of ggplot