2016-11-28 79 views
-1

我想畫一個barplot,顯示了產品生產技術和industry2酒吧在每個峯Barplot與GGPLOT2

library(ggplot2) 
peaks=c(-3:3) 
industry1=c(0.05,0.1,0.2,0.3,0.2,0.1,0.05) 
data1=data.frame(peaks,industry1) 
industry2=c(0.2,0.15,0.12,0.06,0.12,0.15,0.2) 
data2=data.frame(peaks,industry2) 
ggplot(data=data1,aes(x=peaks,y=industry1,fill=industry1) + geom_bar(stat="identity", position="stack") 
gg=g+geom_bar(data=data2,aes(x=peaks,y=industry2,col="blue",show_guide=TRUE)) 

如果我運行它,它說,它不工作

回答

0
library(ggplot2) 
peaks=c(-3:3) 
industry1=c(0.05,0.1,0.2,0.3,0.2,0.1,0.05) 
data1=data.frame(peaks,industry1) 
industry2=c(0.2,0.15,0.12,0.06,0.12,0.15,0.2) 
data2=data.frame(peaks,industry2) 
gg = ggplot(data=data1,aes(x=peaks,y=industry1,fill=industry1)) + geom_bar(stat="identity", position="stack") 
gg 

語法對ggplot()的調用是錯誤的

0

你的意思是?否則,請提供您正在嘗試繪製的示例圖像。

library(ggplot2) 
peaks <- c(-3:3) 
industry1 <- c(0.05,0.1,0.2,0.3,0.2,0.1,0.05) 
industry2 <- c(0.2,0.15,0.12,0.06,0.12,0.15,0.2) 
dat <- rbind(data.frame(peaks, industry = industry1, ind = "industry1"), 
      data.frame(peaks, industry = industry2, ind = "industry2")) 
ggplot(dat, aes(peaks, industry, fill = ind)) + 
    geom_bar(stat = "identity", position = "dodge") 
+0

是準確,謝謝 –

0

您可能正在尋找與兩個行業合併的數據框。

mrg <- merge(data1, data2, by="peaks") 
mrgmelt <- reshape2::melt(mrg, id="peaks") 
ggplot(mrgmelt, aes(peaks, value, fill=variable)) + 
    geom_bar(position="stack", stat="identity") 

enter image description here