前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言day6:从此用ggplot函数画好看的图

R语言day6:从此用ggplot函数画好看的图

原创
作者头像
不会写代码的医学生
发布2024-03-12 20:36:34
1090
发布2024-03-12 20:36:34
举报

第一步·R语言画图的准备工作

1.如果你在国内,则需要先设置镜像

代码语言:r
复制
#设置镜像
options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
#在国外的话可以跳过这一步

2.安装画图所需要的包

代码语言:r
复制
#安装R包
if(!require(ggplot2))install.packages('ggplot2',update = F,ask = F)
if(!require(ggpubr))install.packages('ggpubr',update = F,ask = F)
if(!require(eoffice))install.packages("eoffice",update = F,ask = F)
if(!require(patchwork))install.packages("patchwork",update = F,ask = F)

3.检查一下刚安装的包

代码语言:r
复制
#加载以检查是否安装成功
library(ggplot2)
library(ggpubr)
library(eoffice)
library(patchwork)

第二步·开始学习画图

常用的R包

画图:“base”,“ggplot2”,“ggpubr”

拼图:“patchwork”

导出:“ggsave”

answer:横坐标和纵坐标

1.学习绘图模版

代码语言:r
复制
library(ggplot2)
#1.入门级绘图模板:作图数据,横纵坐标
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length))
代码语言:r
复制
#aes为映射 #一个函数与下一个函数的连接必须有+ #列名不可以带引号

2.设置属性

2.1手动设置

#2.1 手动设置,需要设置为有意义的值

代码语言:r
复制
ggplot(data = iris) + 
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length), 
             color = "blue")
代码语言:r
复制
ggplot(data = iris) + 
  geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length), 
             size = 5,     # 点的大小5mm
             alpha = 0.5,  # 透明度 50%
             shape = 8)  # 点的形状
代码语言:r
复制
#mapping可以省略,aes必须写

2.2映射:按照数据框的某一列来定义图的某个属性

代码语言:r
复制
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species))

Q1 能不能自行指定映射的具体颜色?

代码语言:r
复制
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species))+
  scale_color_manual(values = c("green","grey","pink"))

配色R包:在bing搜rcolorbrewer

代码语言:r
复制
ggplot(data = iris)+
    geom_point(mapping = aes(x = Sepal.Length,
                             y = Petal.Length,
                             colors = Species))+
  scale_color_brewer(palette = "Set1")
代码语言:r
复制
ggplot(data=iris, mapping = aes(x = Species,
                               y = Sepal.Width,
                               fill = Species))+
  geom_point()+
  geom_boxplot()+
  scale_color_brewer(palette='Set1')#fill和color是两个函数
代码语言:r
复制
#所以scale_color_brewer没有设置成功

snipaste软件可以在截图的时候查询为十六进制颜色编号

Q2 区分color和fill两个属性

Q2-1 空心形状和实心形状都用color设置颜色

代码语言:r
复制
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species),
             shape = 17) #17号,实心的例子
代码语言:r
复制
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species),
             shape = 2) #2号,空心的例子

Q2-2 既有边框又有内心的,才需要color和fill两个参数

代码语言:r
复制
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length),
                           shape = 24,
                           color = "red",
                           fill="yellow")
代码语言:r
复制
              #24号,双色的例子

3.几何对象的局部设置与全局设置

统一范围内的两个点坐标没有区别

代码语言:r
复制
#局部设置和全局设置

ggplot(data = iris) + 
  geom_smooth(mapping = aes(x = Sepal.Length, 
                            y = Petal.Length))+
  geom_point(mapping = aes(x = Sepal.Length, 
                           y = Petal.Length))
代码语言:r
复制
#几何对象可以叠加
ggplot(data = iris,mapping = aes(x = Sepal.Length, y = Petal.Length))+
  geom_smooth()+
  geom_point()

4.位置

代码语言:r
复制
# 抖动的点图
ggplot(data = iris,mapping = aes(x = Species, 
                                 y = Sepal.Width,
                                 fill = Species)) + 
  geom_boxplot()+
  geom_point()
代码语言:r
复制
ggplot(data = iris,mapping = aes(x = Species, 
                                 y = Sepal.Width,
                                 fill = Species)) + 
  geom_boxplot()+
  #geom_point(position = "jitter")
  geom_jitter()
#geom_jitter()函数有一定随机性

5.坐标系

代码语言:r
复制
ggplot(data = iris,mapping = aes(x = Species, 
                                 y = Sepal.Width,
                                 fill = Species)) + 
  geom_boxplot()+
  geom_jitter()+ 
  coord_flip()
代码语言:r
复制
#coord_flip() #翻转坐标

6.主题

代码语言:r
复制
ggplot(data = iris,mapping = aes(x = Species, 
                                 y = Sepal.Width,
                                 fill = Species)) + 
  geom_boxplot()+
  geom_jitter()+ 
  theme_bw()#theme_bw() #改主题

引用自生信技能树

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步·R语言画图的准备工作
  • 第二步·开始学习画图
    • 1.学习绘图模版
      • 2.设置属性
        • 2.1手动设置
        • 2.2映射:按照数据框的某一列来定义图的某个属性
        • Q1 能不能自行指定映射的具体颜色?
        • 配色R包:在bing搜rcolorbrewer
        • snipaste软件可以在截图的时候查询为十六进制颜色编号
      • Q2 区分color和fill两个属性
        • Q2-1 空心形状和实心形状都用color设置颜色
        • Q2-2 既有边框又有内心的,才需要color和fill两个参数
      • 3.几何对象的局部设置与全局设置
        • 4.位置
          • 5.坐标系
            • 6.主题
            相关产品与服务
            图数据库 KonisGraph
            图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档