慕課—R語言之數據可視化—學習筆記 3.6ggplot2繪圖系統(中)

前言

在上一篇中對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))

我會在明天添加修改的。同時我會對前面的那篇文章中的第一幅圖像實現過程展示出來。(做個視頻也有可能)







發佈了40 篇原創文章 · 獲贊 10 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章