ggplot2 - 区域填充错误地绘制区域

时间:2014-01-08 23:45:23

标签: r ggplot2

我认为这是对我如何放置每个aestetic的排序的问题。这是相关的代码。

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

我遇到的问题是阴影区域似乎没有正确绘制。我根据数据框绘制了“Donor Unique”和“Unique”的水平线。 “独特”是正确的,因为它的y值正确。然而,“捐助者独特”是通向高潮的方式。它们几乎不应重叠。如果你看看价值世界上发生了什么?除了geom_area,我还应该使用其他东西吗?

1 个答案:

答案 0 :(得分:1)

您需要在position="dodge"的调用中使用geom_area(...)

geom_*中的许多ggplot函数(包括geom_area(...)geom_histogram(...)geom_bar(...)都有一个位置参数。默认值为(通常为......)“stacked”,这会创建添加的几何图形。要显示具有独立y值的几何,请使用position =“dodge”。