2017-02-19 37 views
0

Я сделал рисунок со следующим кодом, однако недавно я заметил, что некоторые из моих точек данных не содержат баров ошибок, как и следовало ожидать, поэтому я пересматриваю этот код через несколько месяцев после его написания. За это время появилось обновление ggplot2, и теперь я получаю ошибки в своем коде, которые я не знаю, как исправить. Они подробно описаны ниже.Проблемы с ggdraw с обновления ggplot2

Мой код:

p1 <- ggplot(dat3A, aes(x = d15N, y = Depth)) 

p4 <- p1 + 
    geom_point(size = 1) + 
    geom_path() + 
    scale_y_continuous(expand = c(0, 0), limits = c(15,0), trans = "reverse") + 
    scale_x_continuous(expand = c(0, 0), limits = c(0,20)) + 
    labs(x=expression(paste(delta^'15', N[NO3],('\u2030'))), y='Depth (cm)') + 
    theme_bw() + 
    theme(axis.line = element_line(colour = "black"), 
     panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(),  
     panel.border = element_blank(), 
     panel.background = element_blank()) + 
    geom_errorbarh(aes(xmax=d15N+d15NError, xmin=d15N-d15NError))+ 
    ggtitle("d") + 
    theme(plot.title = element_text(hjust = 0, size=8))+ 
    theme(axis.text = element_text(size=6), axis.title=element_text(size=8)) 
p13 <- ggdraw(switch_axis_position(p4, axis = 'x')) 

Когда я запускаю это все работает нормально, пока я не пришел к последней строке кода p13 <- ggdraw(switch_axis_position(p4, axis = 'x'))

Тогда я получаю следующие ошибки:

Ошибка в gt $ grobs [[ixl]]: попытка выбрать менее одного элемента В дополнение: Предупреждающие сообщения: 1: panel.margin устарел. использовать panel.spacing свойство вместо 2: Удалено 1 строка, содержащая отсутствующих значений (geom_errorbarh).

Я не опытный кодер, и поэтому я не уверен, как решить эти ошибки. Я не использую panel.margin в своем коде, поэтому не уверен, как изменить это на panel.spacing. Если бы кто-нибудь мог помочь в этом, а также ошибку gt$grobs[[ixl]], я бы очень признателен!

ответ

0

Из cowplot виньетка:

По ggplot2 2.2.0, пакет теперь поддерживает дополнительные оси и оси по обе стороны от участка. Таким образом, функция cowplot switch_axis_position() была устаревшей, так как всегда было уродливым взломоми сложно поддерживать.

Действительно ggplot2 теперь имеет функцию coord_flip. switch_axis_position(p4, axis = 'x') заменен на + scale_x_continuous(position = 'right')

Плюс .. Вероятно, вы хотите немного убрать эту структуру графика.

p13 <- ggplot(dat3A, aes(x = d15N, y = Depth)) + 
    geom_point(size = 1) + 
    geom_path() + 
    geom_errorbar(aes(xmax = d15N + d15NError, xmin = d15N - d15NError)) + 
    scale_y_continuous(expand = c(0, 0), limits = c(15,0), trans = "reverse") + 
    scale_x_continuous(expand = c(0, 0), limits = c(0,20), position = 'right') + 
    labs(x=expression(paste(delta^'15', N[NO3], ('\u2030'))), y = 'Depth (cm)') + 
    ggtitle("d") + 
    theme_bw() + 
    theme(axis.line = element_line(colour = "black"), 
     panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(),  
     panel.border = element_blank(), 
     panel.background = element_blank(), 
     plot.title = element_text(hjust = 0, size=8), 
     axis.text = element_text(size=6), 
     axis.title=element_text(size=8)) 
+0

'geom_errorbarh' - горизонтальная геометрия из' ggstance' pacakage. Неясно, использует ли OP этот пакет, но возможно, что это не опечатка. – eipi10

+0

Не знаю, спасибо, спасибо – GGamba

+0

Спасибо за помощь! Это разобрало все мои проблемы! Я собирался использовать geom_errorbarh, но это просто работало с ggplot2, насколько я знаю. – SoCo

 Смежные вопросы

  • Нет связанных вопросов^_^