ggplot2是一个做科研都会用到的R包。其实它的使用并不难,这次推文我将会使用ggplot2自带的测试数据,和大家快速了解,入门ggplot2。
从 diamonds 数据集中,随机抽取一些数据:
###加载包
library(tidyverse)
install.packages("ggsci")
library(ggplot2)
data("diamonds")
set.seed(1000)
###使用sample_n进行抽取
small_diamondssample_n(diamonds, size=500)
画图首先需要构建一个画布,画出对对应的坐标轴。
ggplot(data=small_diamonds,aes(x=carat,y=price))+theme_classic()
构建好画布之后,就可以在画布上加点了,又叫做添加几何对象:
ggplot(data=small_diamonds,aes(x=carat,y=price))+
geom_point()+theme_classic
()
接着我们可以根据这个数据中,cut的类型给这些点上色。
ggplot(data=small_diamonds,aes(x=carat,y=price))+
geom_point(aes(color=cut))+
theme_classic()
除了默认的配色之外,还可以使用一些调色版来配色,例如使用ggsci,一个我之前提到过的发CNS配色必备的R包。
R包ggsci:一步完成CNS级别的图片配色
###这里选用nature期刊推荐的配色
library(ggsci)
ggplot(data=small_diamonds,aes(x=carat,y=price))+
geom_point(aes(color=cut))+
scale_color_npg()+
theme_classic()
下面继续调整点的大小和形状,让它看起来更有质感。
ggplot(data=small_diamonds,aes(x=
carat,y=price))+
geom_point(shape=21,size=4,color='black',aes(fill=cut))+
scale_fill_npg()+
theme_classic()
再继续使用labs(),设置标题,横轴纵轴标题,图例标题:
ggplot(data=small_diamonds,aes(carat,y=price))+
geom_point(shape=21,size=4,color='black',aes(fill=cut))+
scale_fill_npg()+
labs(title='test point plot',
x='weight of the diamond',
y='price in US dollars',
fill='quality of the cut')+
theme_classic()
最后就是使用scale函数对横轴轴进行刻度的调整:
ggplot