2015-07-08 2 views
2

Я использую ggplot и пытаюсь добавить ленту в виде простого прямоугольника на панель, которая у меня есть. Идея состоит в том, чтобы показать отсечку ниже определенного значения.Управление прямоугольником geom_ribbon в R ggplot

Штукатурка в порядке, но я не могу получить ленту справа - мне бы хотелось, чтобы она показалась немного шире, но она, по-видимому, ограничивается шириной данных штрихового рисунка.

Я пробовал использовать xmin и xmax, но это не увеличивает ширину заштрихованной области.

Есть ли способ явного управления шириной geom_ribbon?

# Where df is a data frame containing the data to plot 
library(cowplot) 

ggplot(df, aes(x=treatments, y=propNotEliminated)) + 
    geom_ribbon(aes(xmin=0, xmax=21, ymin=0, ymax=20)) + # the xmin and xmax don't do what I'd expect 
    geom_bar(stat="identity", fill="white", colour="black", size=1) + 
    theme_cowplot() 

Resulting plot

+0

Почему вы не используете 'geom_hline' для отображения обрезания? Мне кажется более логичным. – Jaap

+0

Да, это была моя первая мысль, но у меня есть еще два свойства, которые мне нужно отображать в виде строк (здесь не показано для ясности), поэтому добавление третьего делает вещи немного загроможденными - заштрихованная область, вероятно, немного ярче, чем она на данный момент, должен быть яснее. – Giswok

+0

Я вижу вашу мысль. Другой вариант - использовать линии с разными цветами. – Jaap

ответ

2

Почему бы не использовать geom_rect?

ggplot(mtcars, aes(factor(cyl))) + 
    geom_bar() + 
    geom_rect(xmin = 0, xmax = Inf, ymin = 0, ymax = 1, fill = "blue") + 
    geom_rect(xmin = 1, xmax = 3, ymin = 1, ymax = 2, fill = "red") + 
    geom_rect(xmin = 1 - 0.5, xmax = 3 + 0.5, ymin = 2, ymax = 3, fill = "green") 

enter image description here

После вы удовлетворены размещением, положить geom_bar в последнюю очередь.

+0

А, я не знал, что существует! Найдено 'geom_ribbon' и' geom_area', но не 'geom_rect'. Это делает работу отлично, спасибо очень. – Giswok

+0

Добро пожаловать! – tonytonov

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