前言
在上一篇中對ggplot2繪圖系統進行了一個綜述,同時使用美國土地稅金的案例使用base繪圖系統與ggplot繪圖系統進行一個比較。可以看出ggplot系統功能的強大。在本文中將繼續對ggplot繪圖系統進行展開。
幾何圖形與美學
在ggplot繪圖系統中,美學意味着“所見所得”(something you can see).包括:
- 位置position(如x,y軸)
- 顏色color(“outside”color)
- 填充fill("內部的inside"顏色)
- 形狀shape(of points)
- 線型linetype
- 大小size
對於某個具體的幾何物體的類型,則包含其中的幾項。具體查閱幫助文檔。Aesthetic mappings 在aes()函數中。
幾何物體(geom)
這裏的幾何物體指的是繪製出的圖形。例如:
點集points(geom_point)
線(geom_line)
箱圖(geom_boxplot)
https://www.rstudio.com/wp-content/uploads/2015/03/ggplot2-cheatsheet.pdf
這是R語言下圖形可視化所有的有關ggplot2繪圖系統的繪圖操作,包括句法和對應的圖像。當然使用命令
help.search("geom_",package="ggplots")
而Rstudio下,輸入geom_ 後按tab鍵則可以顯示快捷提示。
***圖像繪製時至少要包括一個幾何圖形,無上限,直接使用+號來添加多個幾何圖形。
————————————————————————————————————————————————
由上面對幾何圖形及美學瞭解,下面對ggplot2繪圖系統的使用進行舉例說明。
點集Points(scatterplot)
geom_point
至少需要x
和y兩個參數即可。其他作爲可選項。
同樣使用上一篇文章中的案例。
##點圖
hp2001Q1 <- subset(house, DATA ="2001Q1")
ggplot(hp2001Q1, aes(y = StructureCost,
x = LandValue)) + geom_point()
結果:
線Lines(預測線Prediction Line)
ggplot能夠允許多個幾何圖形繪製在一起,下面爲對上面的點集的一個線性擬合,並且繪製在一起
hp2001Q1$pred.SC <- predict(lm(StructureCost ~ LandValue, data = hp2001Q1))
p1 <- ggplot(hp2001Q1, aes(x = LandValue, y = StructureCost))
p1 + geom_point(aes(color = HomeValue)) + geom_line(aes(y = pred.SC))
平滑Smooths
並非所有的幾何圖形擁有簡單的形狀。而平滑幾何體則包含線和ribbon(帶狀物,怎麼翻譯爲好,回覆我一下)
###平滑
p1 +geom_point(aes(color = HomeValue)) + geom_smooth()
文字Text(標籤點集Label Points)
每個geom都可以添加labels,使用geom_text()即可
p1 + geom_text(aes(label=STATE), size = 3)
## install.packages("ggrepel") #如果沒有install,先install一下。
library("ggrepel")
p1 + geom_point() + geom_text_repel(aes(label=STATE), size = 3)
我滴神吶,速度太慢了,和C++這種編譯型的語音怎麼比啊!!!我不喜歡Python,特別是它的格式要求。不喜歡,不喜歡。
美學中其他的繪圖變量Mapping Variables To other Aesthetics
p1 + geom_point(aes(color=Home.Value, shape = region))
我會在明天添加修改的。同時我會對前面的那篇文章中的第一幅圖像實現過程展示出來。(做個視頻也有可能)