R语言数据可视化 ggplot2基础4 位置与坐标系
R語言數據可視化 ggplot2基礎4 位置與坐標系
我們繼續使用ggplot2::diamonds介紹position。
position = “identity”
ggplot(data=diamonds)+geom_bar(mapping = aes(x = cut, fill = cut), position = "identity")
另外,我們對每一個直方還可以根據另外的變量進行劃分,比如用下面的代碼,我們可以展示每一種凈度在不同檔次的切工中所占比率。
position = “fill”
這種position關系可以用在sub-category比率在組間的橫向比較,比如要比較鉆石凈度在不同切工中所占比率,我們可以用下面的代碼:
ggplot(data=diamonds)+geom_bar(mapping = aes(x = cut, fill = clarity), position = "fill")position = “dodge”
雖然上面那張圖可以讓我們做凈度的橫向比較了,但這張圖還是比較丑的,而且我們比較熟悉的不太一樣,我們比較熟悉的分category和sub-category展示的直方圖是用下面的代碼得到的:
ggplot(data=diamonds)+geom_bar(mapping = aes(x = cut, fill = clarity), position = "dodge")position = “jitter”
這種位置關系比較特殊,它的作用是給每一個數據點加上一點隨機噪聲,我們用上上講的散點圖為例:
ggplot(data = mpg)+geom_point(mapping = aes(x=displ,y=hwy),position="identity") ggplot(data = mpg)+geom_point(mapping = aes(x=displ,y=hwy),position="jitter")identity的position導致取值相同的點會重合在一起,看上去就像一個點一樣,這不利于我們發現數據是否存在聚類;jitter給點加上隨機噪聲后能讓取值相同的點重疊但不重合,所以能夠看出數據的集中性。
關于坐標系,我們之前介紹過兩種,對數坐標與笛卡爾坐標,笛卡爾坐標就是直角坐標,用
coord_cartesian()
表示;對數坐標就是基于直角坐標做scaling,用下面的代碼實現
scale_y_log10()
scale_x_log10()
coord_cartesian()
我們再另外介紹三種坐標操作,
交換xxx與yyy軸的位置:
coord_flip()
ggplot(data = mpg,mapping = aes(x=class,y=hwy))+geom_boxplot() ggplot(data = mpg,mapping = aes(x=class,y=hwy))+geom_boxplot()+coord_flip()畫真實的地圖
coord_quickmap()
install.packages("maps") library(maps) World <- map_data("world") ggplot(World, aes(long,lat,group = group))+geom_polygon(fill = "white", color = "black")+coord_quickmap()極坐標
coord_polar()
World <- map_data("world") ggplot(World, aes(long,lat,group = group))+geom_polygon(fill = "white", color = "black")+coord_polar()總結
以上是生活随笔為你收集整理的R语言数据可视化 ggplot2基础4 位置与坐标系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言数据可视化 ggplot2基础3
- 下一篇: UA MATH567 高维统计 专题0