|
1 | 1 | # ggplot2 (development version) |
2 | 2 |
|
| 3 | +* `draw_key_label()` now better reflects the appearance of labels. |
| 4 | + |
| 5 | +* The `minor_breaks` function argument in scales can now take a function with |
| 6 | + two arguments: the scale's limits and the scale's major breaks (#3583). |
| 7 | + |
| 8 | +* (internal) The `ScaleContinuous$get_breaks()` method no longer censors |
| 9 | + the computed breaks. |
| 10 | + |
| 11 | +* Plot scales now ignore `AsIs` objects constructed with `I(x)`, instead of |
| 12 | + invoking the identity scale. This allows these columns to co-exist with other |
| 13 | + layers that need a non-identity scale for the same aesthetic. Also, it makes |
| 14 | + it easy to specify relative positions (@teunbrand, #5142). |
| 15 | + |
| 16 | +* The `fill` aesthetic in many geoms now accepts grid's patterns and gradients. |
| 17 | + For developers of layer extensions, this feature can be enabled by switching |
| 18 | + from `fill = alpha(fill, alpha)` to `fill = fill_alpha(fill, alpha)` when |
| 19 | + providing fills to `grid::gpar()` (@teunbrand, #3997). |
| 20 | + |
| 21 | +* The plot's title, subtitle and caption now obey horizontal text margins |
| 22 | + (#5533). |
| 23 | + |
| 24 | +* New `guide_axis_stack()` to combine other axis guides on top of one another. |
| 25 | + |
| 26 | +* New `guide_custom()` function for drawing custom graphical objects (grobs) |
| 27 | + unrelated to scales in legend positions (#5416). |
| 28 | + |
| 29 | +* `theme()` now supports splicing a list of arguments (#5542). |
| 30 | + |
| 31 | +* Contour functions will not fail when `options("OutDec")` is not `.` (@eliocamp, #5555). |
| 32 | + |
| 33 | +* The `legend.key` theme element is set to inherit from the `panel.background` |
| 34 | + theme element. The default themes no longer set the `legend.key` element. |
| 35 | + This causes a visual change with the default `theme_gray()` (#5549). |
| 36 | + |
| 37 | +* Lines where `linewidth = NA` are now dropped in `geom_sf()` (#5204). |
| 38 | + |
| 39 | +* New `guide_axis_logticks()` can be used to draw logarithmic tick marks as |
| 40 | + an axis. It supersedes the `annotation_logticks()` function |
| 41 | + (@teunbrand, #5325). |
| 42 | + |
| 43 | +* Glyphs drawing functions of the `draw_key_*()` family can now set `"width"` |
| 44 | + and `"height"` attributes (in centimetres) to the produced keys to control |
| 45 | + their displayed size in the legend. |
| 46 | + |
| 47 | +* `coord_radial()` is a successor to `coord_polar()` with more customisation |
| 48 | + options. `coord_radial()` can: |
| 49 | + |
| 50 | + * integrate with the new guide system via a dedicated `guide_axis_theta()` to |
| 51 | + display the angle coordinate. |
| 52 | + * in addition to drawing full circles, also draw circle sectors by using the |
| 53 | + `end` argument. |
| 54 | + * avoid data vanishing in the center of the plot by setting the `donut` |
| 55 | + argument. |
| 56 | + * adjust the `angle` aesthetic of layers, such as `geom_text()`, to align |
| 57 | + with the coordinate system using the `rotate_angle` argument. |
| 58 | + |
| 59 | +* By default, `guide_legend()` now only draws a key glyph for a layer when |
| 60 | + the value is is the layer's data. To revert to the old behaviour, you |
| 61 | + can still set `show.legend = c({aesthetic} = TRUE)` (@teunbrand, #3648). |
| 62 | + |
| 63 | +* The spacing between legend keys and their labels, in addition to legends |
| 64 | + and their titles, is now controlled by the text's `margin` setting. Not |
| 65 | + specifying margins will automatically add appropriate text margins. To |
| 66 | + control the spacing within a legend between keys, the new |
| 67 | + `key.spacing.{x/y}` argument can be used. This leaves the |
| 68 | + `legend.spacing` dedicated to controlling the spacing between |
| 69 | + different guides (#5455). |
| 70 | + |
| 71 | +* In the theme element hierarchy, parent elements that are a strict subclass |
| 72 | + of child elements now confer their subclass upon the children (#5457). |
| 73 | + |
3 | 74 | * `ggsave()` no longer sometimes creates new directories, which is now |
4 | 75 | controlled by the new `create.dir` argument (#5489). |
5 | 76 |
|
|
0 commit comments