簡體   English   中英

在R中使用水平日期覆蓋地塊

[英]Overlaying plots with a horizontal date in R

我試圖使用ggplot2覆蓋兩個圖,我可以分別繪制它們的圖形,但是我想覆蓋它們以顯示比較。 它們具有相同的y軸。 y軸是0到100的分數,x軸是月份中的特定日期(3周范圍內)

這是我嘗試過的:

data <- read.table(text = Level5avg, header = TRUE)
data2 <- read.table(text = Level6avg, header = TRUE)
colnames(data) = c("x","y")
colnames(data2) = c("x","y")
ggplot(rbind(data.frame(data2, group="a"), data.frame(data, group="b")), aes(x=x,y=y)) + 
          stat_density2d(geom="tile", aes(fill = group, alpha=..density..), contour=FALSE) + scale_fill_manual(values=c("b"="#FF0000", "a"="#00FF00")) + geom_point() + theme_minimal()

當我這樣做時,我得到一個有幾個點的奇怪圖形,但是我不確定我的代碼是否正確,因為我無法區分數據。 如果可能的話,我想再添加3個(小型)數據集。 如果有可能,如何將其制成折線圖以區分數據集?


注意:由於有這篇文章,我對ggplot可以達到我的目的印象深刻(本網站上的其他幾則文章也建議使用ggplot而不是萊迪思)。 我不確定我想要的東西是否可行,所以我來到了這里。

數據集:

dput(data) structure(list(x = structure(1:6, .Label = c("10/27/2015",     
"10/28/2015", 
"10/29/2015", "10/30/2015", "10/31/2015", "11/1/2015"), class = "factor"), 
y = c(0, 12.5, 0, 0, 11, 43)), .Names = c("x", "y"), class = "data.frame",      
row.names = c(NA, -6L))

dput(data2) structure(list(x = structure(1:3, .Label 
=c("10/28/2015","10/31/2015", 
"11/1/2015"), class = "factor"), y = c(0, 0, 41.5)), .Names = c("x", 
"y"), class = "data.frame", row.names = c(NA, -3L))

現在,我已經設法獲得覆蓋圖,但是有沒有一種方法可以組織水平軸? 日期沒有順序。

在我看來,將圖表作為基礎的答案使用的是對數據無用的密度圖。 如果您只是在尋找ggplot()線圖,則可以執行以下操作(請注意,我在ggplot()調用之外創建了一個數據ggplot() ,以使其看起來更ggplot() ):

data$group <- "b"
data2$group <- "a"
df <- rbind(data2,data)
df$x <- as.Date(df$x,"%m/%d/%Y")
ggplot(df,aes(x=x,y=y,group=group,color=group)) + geom_line() + 
  geom_point() + theme_minimal()

請注意,通過轉換日期,日期將以正確的順序單獨結束。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM