可視化學習筆記(三):ggplot2:散點圖


1、簡單散點圖

使用geom_point()函數即可繪制,并且在映射中可以使用以下映射參數:

  • shape:指定形狀
  • colour:填充(需要注意的是,fill對point可能不起作用
  • size:修改大小

2、樣式修改

2.1 顏色修改

顏色的手動修改使用以下函數:

scale_colour_manual()
scale_colour_brewer()

2.2 形狀修改

  • 使用scale_shape_manual()函數可以對形狀進行重新修改
  • 使用scale_size_area()函數可以修改點大小(面積)
  • 需要注意的是,含有映射shapesize時最好不要用來比較點

3、圖形重疊情況

3.1設定透明度

使用alpha=#參數來設定透明度,降低圖形重疊情況

3.2將數據分箱(bin),并用矩形/六邊形表示

  • stat_bin2d()表示矩形分箱
  • stat_binhex()表示六邊形分箱

使用以上兩個函數時,需要對顏色進行調整,因此用到scale_fill_gradient()函數

scale_fill_gradient(low='', high='', breaks=, limits=)
  • lowhigh是用于指定最小和最大色階
  • breaks是用于將填充顏色進行分割(cut)
  • limits是限定色階的范圍

3.3添加隨機擾動點

當散點圖中其中一個數據軸或兩個數據軸都對應于離散型變量時,也會出現圖形重疊的情況,因此可以給數據添加隨機擾動點

geom_jitter()

4、添加回歸擬合線

4.1擬合直線

使用geom_smooth()函數可以添加回歸擬合直線

  • se參數控制置信區間,當se=F時,表示不繪制置信區間;默認繪制
  • level參數控制置信水平
  • linetypecoloursize三個參數用于直線進行樣式調整
  • geom_smooth()函數默認使用loess方法(局部加權多項式回歸)
  • 如果提前映射了colourshape參數,回歸會出現分組回歸的情況

4.2logit回歸曲線

使用stat_smooth()可以設定回歸參數

  • method用于指定回歸方法
  • method.args=list()用于傳遞回歸方法的其他參數給stat_smooth()
  • 如果想基于數據進行擬合外推,需要添加fullrang=T參數

4.3對模型添加擬合直線

可以在建立模型后使用predict()函數預測,然后通過geom_line函數來添加模型的擬合線:

#建立模型
model <- lm(heightIn~ ageYear + I(ageYear^2), data=heightweight)
model
summary(model)

#設定預測數據
xmin <- min(heightweight$ageYear)
xmax <- max(heightweight$ageYear)
predicted <- data.frame(ageYear=seq(xmin, xmax, length.out = 100))

predicted$heightIn <- predict(model, predicted);predicted

#繪圖
sp <- ggplot(heightweight, aes(x=ageYear, y=heightIn)) +
  geom_point(colour="grey40")
sp + geom_line(data=predicted, size=1)

5、添加文本注釋

使用annotate()函數來對圖形進行注釋添加

annotate(geom, x=, y=, label="", parse=F)
  • geom是指定添加注釋類型,如geom="text"表示添加文本注釋
  • xy是用來指定注釋的坐標
  • label用來添加注釋內容
  • parse默認不調用數學表達式語法,當parse=T時會以數學表達式的形式表現注釋

6、添加標簽

  • 可以使用annotate()函數來手動添加個別點的標簽
  • 如果需要自動添加標簽,則使用geom_text()函數
geom_text(aes(label=), size=#, vjust=#, hjust=#)
  • 直接將變量映射到label,然后通過size來調整標簽大小避免重合
  • 使用vjusthjust參數用于對標簽位置進行調整;但如果需要自動做出調整,則在aes映射中對y-axis或x-axis加減一個單位

7、繪制氣泡圖

使用geom_point()函數和scale_size_area()函數組合即可繪制出氣泡圖;但實際上氣泡圖還是散點圖

library(gcookbook) #加載數據

cdat <- subset(countries, Year==2009 &
     Name %in% c("Canada", "Ireland", "United Kingdom", "United States", "New Zealand", "Iceland", "Japan", "Luxembourg", "Netherlands", "Switzerland"))

p <- ggplot(cdat, aes(x=healthexp, y=infmortality, size=GDP)) +
  geom_point(shape=21, colour="black", fill="cornsilk")
  
# 將GDP映射給半徑(scale_size_continuous的默認值)
p
# 將GDP映射給面積,得到略大的圓圈
p + scale_size_area(max_size=15)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,923評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,740評論 3 420
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,856評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,175評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,931評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,321評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,383評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,533評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,082評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,891評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,618評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,319評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,732評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,987評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,794評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,076評論 2 375

推薦閱讀更多精彩內容

  • 簡介 文章較長,點擊直達我的博客,瀏覽效果更好。本文內容基本是來源于STHDA,這是一份十分詳細的ggplot2使...
    taoyan閱讀 51,323評論 7 159
  • 1、簡單折線圖 折線圖的x既可以對應離散性變量,也可以對應連續型變量 當x對應因子變量時,必須使用group=1映...
    100gle閱讀 9,448評論 0 3
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,796評論 18 139
  • 1、費雪及其名著《利息理論》 美國經濟學家歐文·費雪(Irving Fisher,1867—1947),在1930...
    隨思錄閱讀 420評論 0 0
  • 杵築,一個很陌生的名字,這是一座九州大分縣的小城,從別府前往這里,火車僅需20分鐘,九州著名的音速“SONIC”列...
    jcmegodb閱讀 1,306評論 0 2