1. 程式人生 > >R語音ggplot2繪製好看的分組散點圖

R語音ggplot2繪製好看的分組散點圖

我們以iris資料集為例,該資料集包括花萼的長度和寬度,花瓣的長度和寬度,以及物種,如下圖:

本文我們要繪製不同物種下花萼的長度和寬度的分佈情況,以及二者之間的相關性關係。

1. 首先載入ggplot2包,

library(ggplot2)

2. 然後進行ggplot(data = NULL, mapping = aes(), ..., environment = parent.frame())繪製,在繪製中第一個引數是資料,第二個引數是資料對映,是繪製的全域性變數,其中包含的引數有x,y,color,size,alpha,shape等。

例如:ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)),然後通過快捷散點繪製

+geom_point(size = 2.0, shape = 16),顏色代表不同的物種,如下圖:



3. 上面顯示的是最原始的散點繪製,通過顏色區分不同的物種,那麼如何進行效果的提升呢?

首先是可以進行分面,使得不同物種的對比效果更為顯著,這裡使用+facet_wrap( ~ Species),效果如下:


4. 通過分面後對比效果好了不少,如果想看下不同物種下花萼長度與寬度的關係呢?可以使用+geom_smooth(method = "loess"),效果圖如下:


5. 通過上面的操作效果好了很多,但是還是感覺不夠高大上,那我們可以使用library(ggthemes)這個包進行精修一下,通過修改theme,使用+theme_solarized(),效果如下:


還有更多的theme選擇,例如+theme_wsj(),效果如下:


這樣我們的圖是不是高大上了很多呢,所以其實資料視覺化也沒有多難。最後給下原始碼:

library(ggthemes)
library(ggplot2)

ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) +
  geom_point(size = 2.0, shape = 16) +
  facet_wrap( ~ Species) +
  geom_smooth(method = "loess")+

  theme_wsj()

如果有需要有償作圖的,可以加我的QQ289251712聯絡我。