согласно справке ggplot «Значения по умолчанию: c (0.05, 0) для непрерывных переменных и c (0, 0.6) для дискретных переменных». для меня расширение = с (0,0,6) дало действительно хорошие результаты
у продублировать левую ось Y на графике ggplot2 на правой стороне, а затем изменить метки галочек для дискретной (категориальной) оси.
Я прочитал ответ наэтот вопросОднако, как можно видетьна странице репо пакета,switch_axis_position()
функция была удалена изcowplot
пакет (автор цитирует (готовится к публикации?) нативный функционал в ggplot2).
Я виделссылка страница на вторичных осях в ggplot2, однако все примеры в этом документе используютscale_y_continuous
скорее, чемscale_y_discrete
, И действительно, когда я пытаюсь использовать дискретную функцию, я получаю ошибку:
Error in discrete_scale(c("y", "ymin", "ymax", "yend"), "position_d", :
unused argument (sec.axis = <environment>)
Есть ли способ сделать это с ggplot2? Даже полностью взломанного решения будет достаточно для меня. Заранее спасибо. (MRE ниже)
library(ggplot2)
# Working continuous plot with 2 axes
ggplot(mtcars, aes(cyl, mpg)) +
geom_point() +
scale_y_continuous(sec.axis = sec_axis(~.+10))
# Working discrete plot with 1 axis
ggplot(mtcars, aes(cyl, as.factor(mpg))) +
geom_point()
# Broken discrete plot with 2 axes
ggplot(mtcars, aes(cyl, as.factor(mpg))) +
geom_point() +
scale_y_discrete(sec.axis = sec_axis(~.+10))