前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggplot2快速入门

ggplot2快速入门

作者头像
生信菜鸟团
发布2021-01-18 14:30:27
6590
发布2021-01-18 14:30:27
举报
文章被收录于专栏:生信菜鸟团生信菜鸟团

ggplot2是一个做科研都会用到的R包。其实它的使用并不难,这次推文我将会使用ggplot2自带的测试数据,和大家快速了解,入门ggplot2。

从 diamonds 数据集中,随机抽取一些数据:

代码语言:javascript
复制
  1. ###加载包
  2. library(tidyverse)
  3. install.packages("ggsci")
  4. library(ggplot2)
  5. data("diamonds")
  6. set.seed(1000)
  7. ###使用sample_n进行抽取
  8. small_diamonds<-sample_n(diamonds, size=500)

画图首先需要构建一个画布,画出对对应的坐标轴。

代码语言:javascript
复制
  1. ggplot(data=small_diamonds,aes(x=carat,y=price))+theme_classic()

构建好画布之后,就可以在画布上加点了,又叫做添加几何对象:

代码语言:javascript
复制
  1. ggplot(data=small_diamonds,aes(x=carat,y=price))+
  2. geom_point()+theme_classic()

接着我们可以根据这个数据中,cut的类型给这些点上色。

代码语言:javascript
复制
  1. ggplot(data=small_diamonds,aes(x=carat,y=price))+
  2. geom_point(aes(color=cut))+
  3. theme_classic()

除了默认的配色之外,还可以使用一些调色版来配色,例如使用ggsci,一个我之前提到过的发CNS配色必备的R包。

R包ggsci:一步完成CNS级别的图片配色

代码语言:javascript
复制
  1. ###这里选用nature期刊推荐的配色
  2. library(ggsci)
  3. ggplot(data=small_diamonds,aes(x=carat,y=price))+
  4. geom_point(aes(color=cut))+
  5. scale_color_npg()+
  6. theme_classic()

下面继续调整点的大小和形状,让它看起来更有质感。

代码语言:javascript
复制
  1. ggplot(data=small_diamonds,aes(x=carat,y=price))+
  2. geom_point(shape=21,size=4,color='black',aes(fill=cut))+
  3. scale_fill_npg()+
  4. theme_classic()

再继续使用labs(),设置标题,横轴纵轴标题,图例标题:

代码语言:javascript
复制
  1. ggplot(data=small_diamonds,aes(carat,y=price))+
  2. geom_point(shape=21,size=4,color='black',aes(fill=cut))+
  3. scale_fill_npg()+
  4. labs(title='test point plot',
  5. x='weight of the diamond',
  6. y='price in US dollars',
  7. fill='quality of the cut')+
  8. theme_classic()

最后就是使用scale函数对横轴轴进行刻度的调整:

代码语言:javascript
复制
  1. ggplot(data=small_diamonds,aes(carat,y=price))+
  2. geom_point(shape=21,size=4,color='black',aes(fill=cut))+
  3. scale_fill_npg()+
  4. labs(title='test point plot',
  5. x='weight of the diamond',
  6. y='price in US dollars',
  7. fill='quality of the cut')+
  8. scale_x_continuous(breaks=seq(0,3,0.5))+
  9. scale_y_continuous(breaks=seq(0,15000,5000),
  10. labels=c('0','5k','10k','15k'))+
  11. theme_classic()

上面的内容基本从浅到深,囊括了ggplot2使用的主要代码。ggplot的主要元素包括:图层,影射,标度,几何对象和主题。其实使用起来并不难,只要你理解每一层的代码,你就能画出你想要的图片。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信菜鸟团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档