Commit graph

6 commits

Author SHA1 Message Date
mef
c7ba0d27dc (grapphics/R-ggplot2) Updated 3.3.3 to 3.3.5
# ggplot2 3.3.5
This is a very small release focusing on fixing a couple of untenable issues
that surfaced with the 3.3.4 release

* Revert changes made in #4434 (apply transform to intercept in `geom_abline()`)
  as it introduced undesirable issues far worse than the bug it fixed
  (@thomasp85, #4514)
* Fixes an issue in `ggsave()` when producing emf/wmf files (@yutannihilation,
  #4521)
* Warn when grDevices specific arguments are passed to ragg devices (@thomasp85,
  #4524)
* Fix an issue where `coord_sf()` was reporting that it is non-linear
  even when data is provided in projected coordinates (@clauswilke, #4527)

# ggplot2 3.3.4
This is a larger patch release fixing a huge number of bugs and introduces a
small selection of feature refinements.

## Features

* Alt-text can now be added to a plot using the `alt` label, i.e
  `+ labs(alt = ...)`. Currently this alt text is not automatically propagated,
  but we plan to integrate into Shiny, RMarkdown, and other tools in the future.
  (@thomasp85, #4477)

* Add support for the BrailleR package for creating descriptions of the plot
  when rendered (@thomasp85, #4459)

* `coord_sf()` now has an argument `default_crs` that specifies the coordinate
  reference system (CRS) for non-sf layers and scale/coord limits. This argument
  defaults to `NULL`, which means non-sf layers are assumed to be in projected
  coordinates, as in prior ggplot2 versions. Setting `default_crs = sf::st_crs(4326)`
  provides a simple way to interpret x and y positions as longitude and latitude,
  regardless of the CRS used by `coord_sf()`. Authors of extension packages
  implementing `stat_sf()`-like functionality are encouraged to look at the source
  code of `stat_sf()`'s `compute_group()` function to see how to provide scale-limit
  hints to `coord_sf()` (@clauswilke, #3659).

* `ggsave()` now uses ragg to render raster output if ragg is available. It also
  handles custom devices that sets a default unit (e.g. `ragg::agg_png`)
  correctly (@thomasp85, #4388)

* `ggsave()` now returns the saved file location invisibly (#3379, @eliocamp).
  Note that, as a side effect, an unofficial hack `<ggplot object> + ggsave()`
  no longer works (#4513).

* The scale arguments `limits`, `breaks`, `minor_breaks`, `labels`, `rescaler`
  and `oob` now accept purrr style lambda notation (@teunbrand, #4427). The same
  is true for `as_labeller()` (and therefore also `labeller()`)
  (@netique, #4188).

* Manual scales now allow named vectors passed to `values` to contain fewer
  elements than existing in the data. Elements not present in values will be set
  to `NA` (@thomasp85, #3451)

* Date and datetime position scales support out-of-bounds (oob) arguments to
  control how limits affect data outside those limits (@teunbrand, #4199).

## Fixes

* Fix a bug that `after_stat()` and `after_scale()` cannot refer to aesthetics
  if it's specified in the plot-global mapping (@yutannihilation, #4260).

* Fix bug in `annotate_logticks()` that would cause an error when used together
  with `coord_flip()` (@thomasp85, #3954)

* Fix a bug in `geom_abline()` that resulted in `intercept` not being subjected
  to the transformation of the y scale (@thomasp85, #3741)

* Extent the range of the line created by `geom_abline()` so that line ending
  is not visible for large linewidths (@thomasp85, #4024)

* Fix bug in `geom_dotplot()` where dots would be positioned wrong with
  `stackgroups = TRUE` (@thomasp85, #1745)

* Fix calculation of confidence interval for locfit smoothing in `geom_smooth()`
  (@topepo, #3806)

* Fix bug in `geom_text()` where `"outward"` and `"inward"` justification for
  some `angle` values was reversed (@aphalo, #4169, #4447)

* `ggsave()` now sets the default background to match the fill value of the
  `plot.background` theme element (@karawoo, #4057)

* It is now deprecated to specify `guides(<scale> = FALSE)` or
  `scale_*(guide = FALSE)` to remove a guide. Please use
  `guides(<scale> = "none")` or `scale_*(guide = "none")` instead
  (@yutannihilation, #4094).

* Fix a bug in `guide_bins()` where keys would disappear if the guide was
  reversed (@thomasp85, #4210)

* Fix bug in `guide_coloursteps()` that would repeat the terminal bins if the
  breaks coincided with the limits of the scale (@thomasp85, #4019)

* Make sure that default labels from default mappings doesn't overwrite default
  labels from explicit mappings (@thomasp85, #2406)

* Fix bug in `labeller()` where parsing was turned off if `.multiline = FALSE`
  (@thomasp85, #4084)

* Make sure `label_bquote()` has access to the calling environment when
  evaluating the labels (@thomasp85, #4141)

* Fix a bug in the layer implementation that introduced a new state after the
  first render which could lead to a different look when rendered the second
  time (@thomasp85, #4204)

* Fix a bug in legend justification where justification was lost of the legend
  dimensions exceeded the available size (@thomasp85, #3635)

* Fix a bug in `position_dodge2()` where `NA` values in thee data would cause an
  error (@thomasp85, #2905)

* Make sure `position_jitter()` creates the same jittering independent of
  whether it is called by name or with constructor (@thomasp85, #2507)

* Fix a bug in `position_jitter()` where different jitters would be applied to
  different position aesthetics of the same axis (@thomasp85, #2941)

* Fix a bug in `qplot()` when supplying `c(NA, NA)` as axis limits
  (@thomasp85, #4027)

* Remove cross-inheritance of default discrete colour/fill scales and check the
  type and aesthetic of function output if `type` is a function
  (@thomasp85, #4149)

* Fix bug in `scale_[x|y]_date()` where custom breaks functions that resulted in
  fracional dates would get misaligned (@thomasp85, #3965)

* Fix bug in `scale_[x|y]_datetime()` where a specified timezone would be
  ignored by the scale (@thomasp85, #4007)

* Fix issue in `sec_axis()` that would throw warnings in the absence of any
  secondary breaks (@thomasp85, #4368)

* `stat_bin()`'s computed variable `width` is now documented (#3522).

* `stat_count()` now computes width based on the full dataset instead of per
  group (@thomasp85, #2047)

* Extended `stat_ecdf()` to calculate the cdf from either x or y instead from y
  only (@jgjl, #4005)

* Fix a bug in `stat_summary_bin()` where one more than the requested number of
  bins would be created (@thomasp85, #3824)

* Only drop groups in `stat_ydensity()` when there are fewer than two data
  points and throw a warning (@andrewwbutler, #4111).

* Fixed a bug in strip assembly when theme has `strip.text = element_blank()`
  and plots are faceted with multi-layered strips (@teunbrand, #4384).

* Using `theme(aspect.ratio = ...)` together with free space in `facet_grid()`
  now crrectly throws an error (@thomasp85, #3834)

* Fixed a bug in `labeller()` so that `.default` is passed to `as_labeller()`
  when labellers are specified by naming faceting variables. (@waltersom, #4031)

* Updated style for example code (@rjake, #4092)

* ggplot2 now requires R >= 3.3 (#4247).

* ggplot2 now uses `rlang::check_installed()` to check if a suggested package is
  installed, which will offer to install the package before continuing (#4375,
  @malcolmbarrett)

* Improved error with hint when piping a `ggplot` object into a facet function
  (#4379, @mitchelloharawild).
2021-08-28 07:03:46 +00:00
mef
31c489940f (graphics/R-ggplot2) Updated 3.2.0 to 3.3.0
# ggplot2 3.3.3
This is a small patch release mainly intended to address changes in R and CRAN.
It further changes the licensing model of ggplot2 to an MIT license.

* Update the ggplot2 licence to an MIT license (#4231, #4232, #4233, and #4281)
* Use vdiffr conditionally so ggplot2 can be tested on systems without vdiffr
* Update tests to work with the new `all.equal()` defaults in R >4.0.3

# ggplot2 3.3.2
This is a small release focusing on fixing regressions introduced in 3.3.1.

* Added an `outside` option to `annotation_logticks()` that places tick marks
  outside of the plot bounds. (#3783, @kbodwin)

* `annotation_raster()` adds support for native rasters. For large rasters,
  native rasters render significantly faster than arrays (@kent37, #3388)

* Facet strips now have dedicated position-dependent theme elements
  (`strip.text.x.top`, `strip.text.x.bottom`, `strip.text.y.left`,
  `strip.text.y.right`) that inherit from `strip.text.x` and `strip.text.y`,
  respectively. As a consequence, some theme stylings now need to be applied to
  the position-dependent elements rather than to the parent elements. This
  change was already introduced in ggplot2 3.3.0 but not listed in the
  changelog. (@thomasp85, #3683)

* Facets now handle layers containing no data (@yutannihilation, #3853).

* A newly added geom `geom_density_2d_filled()` and associated stat
  `stat_density_2d_filled()` can draw filled density contours
  (@clauswilke, #3846).

* A newly added `geom_function()` is now recommended to use in conjunction
  with/instead of `stat_function()`. In addition, `stat_function()` now
  works with transformed y axes, e.g. `scale_y_log10()`, and in plots
  containing no other data or layers (@clauswilke, #3611, #3905, #3983).

* Fixed a bug in `geom_sf()` that caused problems with legend-type
  autodetection (@clauswilke, #3963).

* Support graphics devices that use the `file` argument instead of `fileneame`
  in `ggsave()` (@bwiernik, #3810)

* Default discrete color scales are now configurable through the `options()` of
  `ggplot2.discrete.colour` and `ggplot2.discrete.fill`. When set to a character
  vector of colour codes (or list of character vectors)  with sufficient length,
  these colours are used for the default scale. See `help(scale_colour_discrete)`
  for more details and examples (@cpsievert, #3833).

* Default continuous colour scales (i.e., the `options()`
  `ggplot2.continuous.colour` and `ggplot2.continuous.fill`, which inform the
  `type` argument of `scale_fill_continuous()` and `scale_colour_continuous()`)
  now accept a function, which allows more control over these default
  `continuous_scale()`s (@cpsievert, #3827).

* A bug was fixed in `stat_contour()` when calculating breaks based on
  the `bins` argument (@clauswilke, #3879, #4004).

* Data columns can now contain `Vector` S4 objects, which are widely used in the
  Bioconductor project. (@teunbrand, #3837)

# ggplot2 3.3.1

This is a small release with no code change. It removes all malicious links to a
site that got hijacked from the readme and pkgdown site.

# ggplot2 3.3.0

This is a minor release but does contain a range of substantial new features,
along with the standard bug fixes. The release contains a few visual breaking
changes, along with breaking changes for extension developers due to a shift in
internal representation of the position scales and their axes. No user breaking
changes are included.

This release also adds Dewey Dunnington (@paleolimbot) to the core team.

## Breaking changes
There are no user-facing breaking changes, but a change in some internal
representations that extension developers may have relied on, along with a few
breaking visual changes which may cause visual tests in downstream packages to
fail.

* The `panel_params` field in the `Layout` now contains a list of list of
  `ViewScale` objects, describing the trained coordinate system scales, instead
  of the list object used before. Any extensions that use this field will likely
  break, as will unit tests that checks aspects of this.

* `element_text()` now issues a warning when vectorized arguments are provided,
  as in `colour = c("red", "green", "blue")`. Such use is discouraged and not
  officially supported (@clauswilke, #3492).

* Changed `theme_grey()` setting for legend key so that it creates no border
  (`NA`) rather than drawing a white one. (@annennenne, #3180)

* `geom_ribbon()` now draws separate lines for the upper and lower intervals if
  `colour` is mapped. Similarly, `geom_area()` and `geom_density()` now draw
  the upper lines only in the same case by default. If you want old-style full
  stroking, use `outline.type = "full"` (@yutannihilation, #3503 / @thomasp85, #3708).

## New features

* The evaluation time of aesthetics can now be controlled to a finer degree.
  `after_stat()` supersedes the use of `stat()` and `..var..`-notation, and is
  joined by `after_scale()` to allow for mapping to scaled aesthetic values.
  Remapping of the same aesthetic is now supported with `stage()`, so you can
  map a data variable to a stat aesthetic, and remap the same aesthetic to
  something else after statistical transformation (@thomasp85, #3534)

* All `coord_*()` functions with `xlim` and `ylim` arguments now accept
  vectors with `NA` as a placeholder for the minimum or maximum value
  (e.g., `ylim = c(0, NA)` would zoom the y-axis from 0 to the
  maximum value observed in the data). This mimics the behaviour
  of the `limits` argument in continuous scale functions
  (@paleolimbot, #2907).

* Allowed reversing of discrete scales by re-writing `get_limits()`
  (@AnneLyng, #3115)

* All geoms and stats that had a direction (i.e. where the x and y axes had
  different interpretation), can now freely choose their direction, instead of
  relying on `coord_flip()`. The direction is deduced from the aesthetic
  mapping, but can also be specified directly with the new `orientation`
  argument (@thomasp85, #3506).

* Position guides can now be customized using the new `guide_axis()`, which can
  be passed to position `scale_*()` functions or via `guides()`. The new axis
  guide (`guide_axis()`) comes with arguments `check.overlap` (automatic removal
  of overlapping labels), `angle` (easy rotation of axis labels), and
  `n.dodge` (dodge labels into multiple rows/columns) (@paleolimbot, #3322).

* A new scale type has been added, that allows binning of aesthetics at the
  scale level. It has versions for both position and non-position aesthetics and
  comes with two new guides (`guide_bins` and `guide_coloursteps`)
  (@thomasp85, #3096)

* `scale_x_continuous()` and `scale_y_continuous()` gains an `n.breaks` argument
  guiding the number of automatic generated breaks (@thomasp85, #3102)

* Added `stat_contour_filled()` and `geom_contour_filled()`, which compute
  and draw filled contours of gridded data (@paleolimbot, #3044).
  `geom_contour()` and `stat_contour()` now use the isoband package
  to compute contour lines. The `complete` parameter (which was undocumented
  and has been unused for at least four years) was removed (@paleolimbot, #3044).

* Themes have gained two new parameters, `plot.title.position` and
  `plot.caption.position`, that can be used to customize how plot
  title/subtitle and plot caption are positioned relative to the overall plot
  (@clauswilke, #3252).

## Extensions

* `Geom` now gains a `setup_params()` method in line with the other ggproto
  classes (@thomasp85, #3509)

* The newly added function `register_theme_elements()` now allows developers
  of extension packages to define their own new theme elements and place them
  into the ggplot2 element tree (@clauswilke, #2540).

## Minor improvements and bug fixes

* `coord_trans()` now draws second axes and accepts `xlim`, `ylim`,
  and `expand` arguments to bring it up to feature parity with
  `coord_cartesian()`. The `xtrans` and `ytrans` arguments that were
  deprecated in version 1.0.1 in favour of `x` and `y`
  were removed (@paleolimbot, #2990).

* `coord_trans()` now calculates breaks using the expanded range
  (previously these were calculated using the unexpanded range,
  which resulted in differences between plots made with `coord_trans()`
  and those made with `coord_cartesian()`). The expansion for discrete axes
  in `coord_trans()` was also updated such that it behaves identically
  to that in `coord_cartesian()` (@paleolimbot, #3338).

* `expand_scale()` was deprecated in favour of `expansion()` for setting
  the `expand` argument of `x` and `y` scales (@paleolimbot).

* `geom_abline()`, `geom_hline()`, and `geom_vline()` now issue
  more informative warnings when supplied with set aesthetics
  (i.e., `slope`, `intercept`, `yintercept`, and/or `xintercept`)
  and mapped aesthetics (i.e., `data` and/or `mapping`).

* Fix a bug in `geom_raster()` that squeezed the image when it went outside
  scale limits (#3539, @thomasp85)

* `geom_sf()` now determines the legend type automatically (@microly, #3646).

* `geom_sf()` now removes rows that can't be plotted due to `NA` aesthetics
  (#3546, @thomasp85)

* `geom_sf()` now applies alpha to linestring geometries
  (#3589, @yutannihilation).

* `gg_dep()` was deprecated (@perezp44, #3382).

* Added function `ggplot_add.by()` for lists created with `by()`, allowing such
  lists to be added to ggplot objects (#2734, @Maschette)

* ggplot2 no longer depends on reshape2, which means that it no longer
  (recursively) needs plyr, stringr, or stringi packages.

* Increase the default `nbin` of `guide_colourbar()` to place the ticks more
  precisely (#3508, @yutannihilation).

* `manual_scale()` now matches `values` with the order of `breaks` whenever
  `values` is an unnamed vector. Previously, unnamed `values` would match with
  the limits of the scale and ignore the order of any `breaks` provided. Note
  that this may change the appearance of plots that previously relied on the
  unordered behaviour (#2429, @idno0001).

* `scale_manual_*(limits = ...)` now actually limits the scale (#3262,
  @yutannihilation).

* Fix a bug when `show.legend` is a named logical vector
  (#3461, @yutannihilation).

* Added weight aesthetic option to `stat_density()` and made scaling of
  weights the default (@annennenne, #2902)

* `stat_density2d()` can now take an `adjust` parameter to scale the default
  bandwidth. (#2860, @haleyjeppson)

* `stat_smooth()` uses `REML` by default, if `method = "gam"` and
  `gam`'s method is not specified (@ikosmidis, #2630).

* stacking text when calculating the labels and the y axis with
  `stat_summary()` now works (@ikosmidis, #2709)

* `stat_summary()` and related functions now support rlang-style lambda functions
  (#3568, @dkahle).

* The data mask pronoun, `.data`, is now stripped from default labels.

* Addition of partial themes to plots has been made more predictable;
  stepwise addition of individual partial themes is now equivalent to
  addition of multple theme elements at once (@clauswilke, #3039).

* Facets now don't fail even when some variable in the spec are not available
  in all layers (@yutannihilation, #2963).

# ggplot2 3.2.1

This is a patch release fixing a few regressions introduced in 3.2.0 as well as
fixing some unit tests that broke due to upstream changes.

* `position_stack()` no longer changes the order of the input data. Changes to
  the internal behaviour of `geom_ribbon()` made this reordering problematic
  with ribbons that spanned `y = 0` (#3471)
* Using `qplot()` with a single positional aesthetic will no longer title the
  non-specified scale as `"NULL"` (#3473)
* Fixes unit tests for sf graticule labels caused by chages to sf
2021-06-06 14:56:14 +00:00
brook
93e94bec97 Update all R packages to canonical form.
The canonical form [1] of an R package Makefile includes the
following:

- The first stanza includes R_PKGNAME, R_PKGVER, PKGREVISION (as
  needed), and CATEGORIES.

- HOMEPAGE is not present but defined in math/R/Makefile.extension to
  refer to the CRAN web page describing the package.  Other relevant
  web pages are often linked from there via the URL field.

This updates all current R packages to this form, which will make
regular updates _much_ easier, especially using pkgtools/R2pkg.

[1] http://mail-index.netbsd.org/tech-pkg/2019/08/02/msg021711.html
2019-08-08 19:53:36 +00:00
brook
85e711f032 R-ggplot2: update to version 3.2.0.
Update to the canonical form of an R package.
2019-07-31 16:04:39 +00:00
brook
d1d2bdf864 Remove MASTER_SITES= from individual R package Makefiles.
Each R package should include ../../math/R/Makefile.extension, which also
defines MASTER_SITES.  Consequently, it is redundant for the individual
packages to do the same.  Package-specific definitions also prevent
redefining MASTER_SITES in a single common place.
2018-07-28 14:40:42 +00:00
minskim
4f127038f0 graphics/R-ggplot2: Import version 2.2.1
A system for 'declaratively' creating graphics, based on "The Grammar
of Graphics". You provide the data, tell 'ggplot2' how to map
variables to aesthetics, what graphical primitives to use, and it
takes care of the details.
2018-03-20 15:20:48 +00:00