隨着ggplot2包,調用ggplot()只打算調用基本網格;這就像繪製圖表之前拿出一張方格紙。無論哪種情況,準備好網格與繪製圖表無關。這就是爲什麼運行以下命令將導致空網格在你的第一個例子:
ggplot(data=testData, aes(x=x, y=y, fill = "#FFCC00"))
這是不一樣的使用類似的情節)的函數(或HIST(),這預習電網並繪製在數據同時:
plot(x=x,y=y,data=testData)
hist(x=x,data=testData)
中ggplot「+」只是一種方式說,有涉及到我們要包含在第一個空白格柵頂部的ggplot多個參數。這就是爲什麼每個由「+」分隔的行通常稱爲圖層。
所以,如果我們想要做一個簡單的散點圖,我們在網格上添加點:
testData<-data.frame(x=c(1:6), y=c(10,6,9,28,10,17))
ggplot(data=testData,aes(x=x,y=y)) +
geom_point()
輸出:
如果我們想要添加行到scatterplot,我們只需添加一行代碼:
ggplot(data=testData,aes(x=x,y=y)) +
geom_point() +
geom_line()
輸出:
我們可以不斷加入這樣的層,如果我們想。只要注意,他們將在訂單打印您鍵入他們(即頭幾行會後,他們印製的線下):
ggplot(data=testData,aes(x=x,y=y)) +
geom_bar(stat="identity",fill="#00BFC4") +
geom_point() +
geom_line()
輸出:
另外,還要注意建議不要在ggplot調用中多次調用您的數據;這可能導致錯誤。
不要使用:
ggplot(data=testData, aes(x=c("a","b","c","d","e","f"),
y=c(10,6,9,28,10,17), fill = "#FFCC00")) +
geom_bar(stat="identity")
#or
ggplot(data=testData, aes(x=testData$x, y=testData$x, fill = "#FFCC00")) +
geom_bar(stat="identity")
而是使用:
ggplot(data=testData, aes(x=x, y=y, fill="#FFCC00")) +
geom_bar(stat="identity")
如果你想從數據幀(或多個)第一ggplot()行內不叫積數據,然後一個簡單的數據參數添加到使用不同的數據幀中的「層」,像這樣:
ggplot(data=testData,aes(x=x,y=y)) +
geom_bar(stat="identity",fill="#00BFC4") +
geom_point(data=differentDf, aes(x=x,y=y)) +
geom_line(data=differentDf, aes(x=x,y=y))
是否有可能做comboplots其中兩個differen哪些部分定義了兩套不同的數據,以便在圖層之間進行繪圖? – hhh
當然。這是ggplot最擅長的事情之一。請參閱我爲解決此問題所做的上述編輯。 – www