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). |
||
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 |
||
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 |
||
brook
|
85e711f032 |
R-ggplot2: update to version 3.2.0.
Update to the canonical form of an R package. |
||
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. |
||
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. |