согласно справке 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))

Ответы на вопрос(0)

Ваш ответ на вопрос