2015-08-20 2 views
1

Я разрабатываю некоторые графики внутри функции с ggPlot2 geom_text. Это последовательность из пяти графиков, и в каждом из них я хочу разместить свою метку (мой текст) в верхнем правом положении. Проблема в том, что я буду постоянно изменять свои значения N и Y (в соответствии с интервалом ввода и ввода). Координаты X и Y изменятся и даже окажутся вне шкалы. Итак, как сделать фиксированное размещение ярлыков, скажем, в правом верхнем углу, на моем графике?Размещение меток в ggplot2 с использованием функции geom_text в R

Вот мой код

parte.mac <- subset(dados, subset = (dados$Especie == 'C.macelaria' & dados$Temp >= minima & dados$Temp <= maxima)) 
    mac <- qplot(Temp, Tempo, data = parte.mac, color = Especie, main = 'C.macelaria', geom = c("point", "line"), add = T) + 
    stat_smooth(method = 'lm', level = 0.99, alpha = 0.5, aes(group=1), color = 'blue') + 
    geom_text(x = maxima, y = mean(range(dados$Tempo)), label = mac.sm, parse = TRUE) 

Пожалуйста, помогите

+2

Не могли бы вы предоставить воспроизводимые/минимальные данные? – jazzurro

+0

Обычно это работает: 'p + annotate (" text ", y = Inf, x = Inf, label =" here ")', вам может потребоваться настроить 'vjust/hjust' – baptiste

+0

hi baptiste и jazzurro, мои временные данные варьируются от 10 - 50 и диапазоны данных темпа 240 - 180 –

ответ

1

Вторя комментарий по @jazzuro, не могли бы вы предоставить нам (ваши) воспроизводимые данные, запустив (ничего конфиденциального не посылать!)

dput(parte.mac) 

и приклеивание это на ваш вопрос.

В отсутствии ваших точных данных, я эхо @baptiste с простым примером, используя «верный» файл данных о Гейзере Old Faithful извержений:

data(faithful) 
head(faithful) 
p <- qplot(x=eruptions, y=waiting, data=faithful) 

, а затем вот один пример аннотация:

p + annotate("text", x=3, y=40, label="Group 1") + annotate("text", x=4.5, y=60, label="Group 2") 

Ниже приведен второй пример, используя аргументы, такие как «мин» и «макс» для размещения аннотаций:

p + annotate("text", x=min(faithful$eruptions), y=min(faithful$waiting), label="Group 1") + annotate("text", x=max(faithful$eruptions), y=max(faithful$waiting), label="Group 2") 

Если это не поможет, не забудьте указать данные и вставить в свой вопрос.

+0

Спасибо, Вудсток, это была функция аннотации, которую я искал! Я получил это сейчас, очень много! : D –

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