2014-01-08 5 views
0

Я думал, что это была проблема с заказом того, как я размещал каждую астетику. Вот соответствующий код.ggplot2 - неправильная область заполнения области

enter image description here

Вроде как нормальное распределение. Собираемся расплавить его и заговорить о каждом распределении.

df <- as.data.frame(r_data_frame) 
names(df) <- c('Length','Unique','Donor Unique','All') 
library(ggplot2) 
library(reshape2) 
ndf <- melt(df,id.vars='Length') 
print(ndf) 
graph <- ggplot(data=ndf) + geom_area(aes(Length,value,fill=variable)) + 
    theme_bw()+ 
    xlim(1,42)+ 
    geom_hline(yintercept=2369802) + 
    geom_hline(yintercept=2469225,color='red')+ 
    geom_vline(xintercept=15) 

plot(graph) 

Расплавленный кадр данных, вероятно, лучше найти в this gist

Вот выход

enter image description here

Проблема у меня в том, что заштрихованные области, кажется, не быть построены правильно. Я построил горизонтальные линии для «Уникальных доноров» и «Уникальных», где они должны быть в соответствии с фреймом данных. «Уникальный» является правильным, так как он соответствует его значению y. Однако «Донор Уникальный» - путь к высокому. Они едва должны пересекаться. Если вы посмотрите на ценности Что происходит в мире? Должен ли я использовать что-то еще, кроме geom_area?

+1

Вы пробовали 'position =" dodge "' в 'geom_area (...)'? – jlhoward

+0

Да, что сработало вместе с помещением их в правильном порядке – jwillis0720

+1

Если вы ответите, что в качестве ответа я с радостью приму – jwillis0720

ответ

1

Необходимо позвонить position="dodge" в звонок geom_area(...).

Многие из geom_* функций в ggplot, в том числе geom_area(...), geom_histogram(...) и geom_bar(...), имеют параметр положения. Значение по умолчанию (обычно ...) «сложено», что создает дополнительные аддитивные формы. Чтобы отобразить геометрию с независимыми значениями y, используйте position = "dodge".

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