Я хочу научиться увеличивать расстояние между axis.ticks
и метками оси.
Вот пример:
library(tidyverse)
library(palmerpenguins)
penguins %>%
ggplot() +
geom_point(aes(x=bill_length_mm,bill_depth_mm, fill=species), size=5, shape=21, color = "white", alpha=0.7) +
scale_fill_manual(values=c("#1B6CA8","#D78E00","#438A5E" )) +
guides(fill=guide_legend(override.aes = list(alpha=1))) +
theme_bw() +
theme(text=element_text(size=12),
axis.ticks.length = unit(0.25, "cm"))
#> Warning: Removed 2 rows containing missing values (`geom_point()`).
Created on 2023-04-10 with reprex v2.0.2
Это то, что я хочу:
Я пытался использовать axis.text.x = element_text(margin = margin(t = 0,r = 0,b = 2,l = 0, unit = "cm")))
, но с помощью этой команды я только перемещаю заголовок. Я хочу переместить только метки, а НЕ название!
Связанные stackoverflow.com/questions/66102618/….
это очень хороший момент @tjebo я согласен
Благодаря предложению Филиппа Массикотта из группы R4DS slack есть решение:
library(tidyverse)
library(palmerpenguins)
penguins %>%
ggplot() +
geom_point(aes(x=bill_length_mm,bill_depth_mm, fill=species), size=5, shape=21, color = "white", alpha=0.7) +
scale_fill_manual(values=c("#1B6CA8","#D78E00","#438A5E" )) +
guides(fill=guide_legend(override.aes = list(alpha=1))) +
theme_bw() +
theme(text=element_text(size=12),
axis.ticks.length = unit(0.25, "cm"),
axis.text.x = element_text(margin = margin(5,0,0,0)),
axis.text.y = element_text(margin = margin(0,5,0,0)))
#> Warning: Removed 2 rows containing missing values (`geom_point()`).
Created on 2023-04-10 with reprex v2.0.2
Я не уверен, почему вы подумали, что
margin(t = 0,r = 0,b = 2,l = 0, unit = "cm"))
увеличит отступ между метками осей и делениями? б = дно. В своем ответе с помощьюmargin(5,0,0,0)
вы добавляете поле вверхуt
. Я думаю, что лучше явно указать позицию, в которой вы хотите добавить отступ. Вместо приведенного ниже кода в ответе вы можете использоватьaxis.text.x = element_text(margin = margin(t = 5))
, потому что любая из этих позиций t/r/b/l имеет 0 по умолчанию.