Loading...
Loading...
Compare original and translation side by side
ggplot(data = mpg, mapping = aes(x = cty, y = hwy))aes()ggplot(data = mpg, mapping = aes(x = cty, y = hwy))aes()ggplot(mpg, aes(cty, hwy)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm")ggplot(mpg, aes(cty, hwy)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm")ggplot(mpg, aes(cty, hwy, colour = class)) +
geom_point() +
scale_colour_viridis_d()ggplot(mpg, aes(cty, hwy, colour = class)) +
geom_point() +
scale_colour_viridis_d()ggplot(mpg, aes(cty, hwy)) +
geom_point() +
facet_grid(year ~ drv)ggplot(mpg, aes(cty, hwy)) +
geom_point() +
facet_grid(year ~ drv)ggplot(mpg, aes(cty, hwy)) +
geom_point() +
coord_fixed()ggplot(mpg, aes(cty, hwy)) +
geom_point() +
coord_fixed()ggplot(mpg, aes(cty, hwy, colour = class)) +
geom_point() +
theme_minimal() +
theme(legend.position = "top")ggplot(mpg, aes(cty, hwy, colour = class)) +
geom_point() +
theme_minimal() +
theme(legend.position = "top")@$undefined@$undefined
Stricter type validation:
```r
element_text(hjust = "foo")
#> Error: @hjust must be <NULL>, <integer>, or <double>, not <character>
更严格的类型验证:
```r
element_text(hjust = "foo")
#> Error: @hjust must be <NULL>, <integer>, or <double>, not <character>inkpaperaccentggplot(mpg, aes(displ, hwy)) +
geom_point() +
geom_smooth(method = "lm", formula = y ~ x) +
theme_gray(paper = "cornsilk", ink = "navy", accent = "tomato")inkpaperaccentggplot(mpg, aes(displ, hwy)) +
geom_point() +
geom_smooth(method = "lm", formula = y ~ x) +
theme_gray(paper = "cornsilk", ink = "navy", accent = "tomato")theme(geom)ggplot(mpg, aes(class, displ)) +
geom_boxplot(aes(colour = from_theme(accent))) +
theme(geom = element_geom(
accent = "tomato",
paper = "cornsilk",
bordertype = "dashed",
borderwidth = 0.2,
linewidth = 2,
linetype = "solid"
))theme(geom)ggplot(mpg, aes(class, displ)) +
geom_boxplot(aes(colour = from_theme(accent))) +
theme(geom = element_geom(
accent = "tomato",
paper = "cornsilk",
bordertype = "dashed",
borderwidth = 0.2,
linewidth = 2,
linetype = "solid"
))theme(
palette.colour.continuous = c("chartreuse", "forestgreen"),
palette.shape.discrete = c("triangle", "triangle open")
)theme(
palette.colour.continuous = c("chartreuse", "forestgreen"),
palette.shape.discrete = c("triangle", "triangle open")
)theme_sub_*()| Shortcut | Prefix replaced |
|---|---|
| |
| |
| |
| |
| |
| |
| |
undefinedtheme_sub_*()| 快捷方式 | 替代的前缀 |
|---|---|
| |
| |
| |
| |
| |
| |
| |
undefinedundefinedundefinedmargin_auto(1) # all sides = 1
margin_auto(1, 2) # t/b=1, l/r=2
margin_auto(1, 2, 3) # t=1, l/r=2, b=3
margin_part(r = 20) # partial (NA inherits)margin_auto(1) # 四边均为1
margin_auto(1, 2) # 上下=1,左右=2
margin_auto(1, 2, 3) # 上=1,左右=2,下=3
margin_part(r = 20) # 部分边距(NA表示继承)theme_sub_panel(widths = unit(c(2, 3, 4), "cm")) # per-panel
theme_sub_panel(widths = unit(9, "cm")) # total areatheme_sub_panel(widths = unit(c(2, 3, 4), "cm")) # 单个面板尺寸
theme_sub_panel(widths = unit(9, "cm")) # 总区域尺寸"label"attr(df$bill_dep, "label") <- "Bill depth (mm)"
ggplot(df, aes(bill_dep, bill_len)) + geom_point()"label"attr(df$bill_dep, "label") <- "Bill depth (mm)"
ggplot(df, aes(bill_dep, bill_len)) + geom_point()dict <- c(species = "Species", bill_dep = "Bill depth (mm)")
ggplot(penguins, aes(bill_dep, bill_len, colour = species)) +
geom_point() +
labs(dictionary = dict)dict <- c(species = "Species", bill_dep = "Bill depth (mm)")
ggplot(penguins, aes(bill_dep, bill_len, colour = species)) +
geom_point() +
labs(dictionary = dict)scale_colour_discrete(name = toupper)
guides(x = guide_axis(title = tools::toTitleCase))
labs(y = \(x) paste0(x, " variable"))aes()labs(dictionary)labs()scale_*(name)guide_*(title)scale_colour_discrete(name = toupper)
guides(x = guide_axis(title = tools::toTitleCase))
labs(y = \(x) paste0(x, " variable"))aes()labs(dictionary)labs()scale_*(name)guide_*(title)scale_colour_discrete(breaks = c(
"Pygoscelis adeliae" = "Adelie",
"Pygoscelis papua" = "Gentoo"
))scale_colour_discrete(breaks = c(
"Pygoscelis adeliae" = "Adelie",
"Pygoscelis papua" = "Gentoo"
))undefinedundefinedundefinedundefinedgeom_text(aes(nudge_x = sign(value) * 3, label = value))geom_text(aes(nudge_x = sign(value) * 3, label = value))ggplot(data, aes(x, y, fill = group)) +
geom_boxplot(position = position_dodge(preserve = "single")) +
aes(order = group)ggplot(data, aes(x, y, fill = group)) +
geom_boxplot(position = position_dodge(preserve = "single")) +
aes(order = group)facet_wrap(dir)| dir | Start | Fill |
|---|---|---|
| top-left | left-to-right |
| top-left | top-to-bottom |
| bottom-left | left-to-right |
| bottom-left | bottom-to-top |
| top-right | right-to-left |
| top-right | top-to-bottom |
| bottom-right | right-to-left |
| bottom-right | bottom-to-top |
facet_wrap(dir)| dir | 起始位置 | 填充方式 |
|---|---|---|
| 左上 | 从左到右 |
| 左上 | 从上到下 |
| 左下 | 从左到右 |
| 左下 | 从下到上 |
| 右上 | 从右到左 |
| 右上 | 从上到下 |
| 右下 | 从右到左 |
| 右下 | 从下到上 |
facet_wrap(~ island, scales = "free_x", space = "free_x")facet_wrap(~ island, scales = "free_x", space = "free_x")geom_point(colour = "grey", layout = "fixed_rows") # repeat in rows
geom_point(layout = NULL) # use facet vars
annotate("text", label = "X", layout = 6) # specific panelNULL"fixed"<integer>"fixed_cols""fixed_rows"geom_point(colour = "grey", layout = "fixed_rows") # 在每行重复显示
geom_point(layout = NULL) # 使用分面变量
annotate("text", label = "X", layout = 6) # 指定面板显示NULL"fixed"<integer>"fixed_cols""fixed_rows"geom_boxplot(
whisker.linetype = "dashed",
box.colour = "black",
median.linewidth = 2,
staplewidth = 0.5,
staple.colour = "grey50"
)geom_boxplot(
whisker.linetype = "dashed",
box.colour = "black",
median.linewidth = 2,
staplewidth = 0.5,
staple.colour = "grey50"
)geom_violin(
quantiles = c(0.1, 0.9),
quantile.linetype = 1,
quantile.colour = "red"
)geom_violin(
quantiles = c(0.1, 0.9),
quantile.linetype = 1,
quantile.colour = "red"
)geom_label(
aes(linetype = factor(vs), linewidth = factor(am)),
text.colour = "black",
border.colour = "blue"
)geom_label(
aes(linetype = factor(vs), linewidth = factor(am)),
text.colour = "black",
border.colour = "blue"
)geom_area(aes(fill = continuous_var)) # gradient (R 4.1+)geom_area(aes(fill = continuous_var)) # 渐变效果(R 4.1+)make_centroids <- function(df) {
transform(df, xend = mean(x), yend = mean(y))
}
stat_manual(geom = "segment", fun = make_centroids)make_centroids <- function(df) {
transform(df, xend = mean(x), yend = mean(y))
}
stat_manual(geom = "segment", fun = make_centroids)geom_line(stat = "connect") # stairstep
geom_ribbon(stat = "connect", alpha = 0.4)geom_line(stat = "connect") # 阶梯线
geom_ribbon(stat = "connect", alpha = 0.4)undefinedundefinedcoord_cartesian(reverse = "x") # "y", "xy", "none"
coord_sf(reverse = "y")
coord_radial(reverse = "theta") # "r", "thetar", "none"coord_cartesian(reverse = "x") # 可选值:"y", "xy", "none"
coord_sf(reverse = "y")
coord_radial(reverse = "theta") # 可选值:"r", "thetar", "none"| Old | New |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| 旧写法 | 新写法 |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |