Я хочу сделать переменную ggplot вызова пользователя, не меняя вызов ggplot в сценарии ...Используя функцию и переменный столбец в ggplot
У меня есть фрейм данных с различными столбцами Я хотел бы используйте для обозначения точек на моем участке. Многие из этих столбцов длинны, и я хочу предоставить функцию «shortname», чтобы немного сократить столбец ...
Я также хочу сделать эту переменную переменной, и именно здесь я застрял в данный момент.
df <- data.frame(a=c('a;b;c','d;e;f'), b=c('A;B;C','D;E;F'),
x=c(1,2), y=c(2,3))
use_column <- 'b'
shortname <- function(x) {
sub('([^;]+).*', '\\1', x)
}
g <- ggplot(df, aes(x,y)) + geom_point()
g + geom_text(aes(label=a))
g + geom_text(aes(label=shortname(a)))
g + geom_text(aes(label=shortname(b)))
До этого момента все работает должным образом. На первых графиках показана колонка сокращенно, а на втором рисунке показана колонка b. Но когда я пытаюсь использовать переменную use_column, я не заставить его работать ...
g + geom_text(aes_string(label=shortname(use_column)))
Я бегу из идей и надеюсь, что кто-то может помочь мне в этом.
Заранее благодарен!
Да, это по-прежнему трудно читать ... Есть ли способ, чтобы сделать его более удобным для чтения с AES() ... Я просто использовал aes_string() в течение некоторого тестирования ... Но, по крайней мере, его спасибо за это! – drmariod
Мне это нравится! Хотелось бы проголосовать несколько раз! – drmariod