R语言---07作图plot()、ggplot()、boxplot()

 一、画图安装包

 

如果你在运行代码过程中,报错显示R包不存在,则需要先安装R包再运行代码。

本文需要用到的R包 ,用library()函数加载并检查一下你的电脑里面是否有该R包。

library(ggplot2)
library(ggpubr)
library(eoffice)
library(patchwork)

 如果缺少R包,可以使用一下代码:

#设置镜像
options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
#安装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)

二、介绍函数基础包-绘图函数

1.高级绘图函数

plot()--多种图形

hist()--频率直方图

boxplot()--箱线图

stripchart()--点图

barplot()--柱状图

piechart()--饼图

matplot()--数学图形

2.低级绘图函数

lines()--添加线

curve()--添加曲线

abline()--添加给定斜率的线

points()--添加点

segments()--折线

arrows()--箭头

axis()--坐标轴

box()--外框

title()--标题

text()--文字

【低级绘图函数不能单独使用,要结合高级函数一起使用】

三、plot()函数

 

#基础包
plot(iris[,1],iris[,3],col = iris[,5]) 
text(6.5,4, labels = 'hello')

dev.off() #关闭画板

 得到的图如下:

2ba66cab61414987bc21ad08fd199302.png

 

四、ggplot()函数

1.ggplot()函数的基础认识

以下代码使用R语言的内置函数iris。 

aes()函数描述的是横纵坐标

属性参数
颜色color
大小size
形状shape
透明度alpha
填充颜色fill

 

 

 

 

 

 

 

#入门级绘图模板:作图数据,横纵坐标
library(ggplot2)
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length))

0834a1ba48fc457a90ecfd89b3af4347.png

 2.属性设置(颜色、大小、透明度、点的形状,线型等)

(1)点状图,增加颜色

geom_point的参数是具体颜色,【color=“blue”】

ggplot(data = iris) + 
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length), 
             color = "blue")

 571d3be53e7047e88b1b335411b9f51b.png

 

 (2)点状图,增加大小、透明度、点的形状

ggplot(data = iris) + 
  geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length), 
             size = 2,     # 点的大小5mm
             alpha = 0.5,  # 透明度 50%
             shape = 8)  # 点的形状

 0c7cb7cd23314bcf809f1d491dd43b27.png

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

 按照数据框的Species那一列来定义图的颜色,该颜色是由系统默认的

aes的参数是列名,即【color=Species】

ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                         color = Species))

 2ee8ab4e2a614372aa9090f58e43e195.pngb9852fa4ab784e08a6ae69ccfb09daee.png

(4)自行指定映射的具体颜色

使用scale_color_manual()函数

ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species))+
  scale_color_manual(values = c("blue","grey","red"))

 0d1160ba296c4875b952cd4914ec22e9.png

 3.color和fill两个属性

(1)实心和空心形状

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

比较常见的实心和空心的字号代表

ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species),
             shape = 17) #17号,实心的例子
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species),
             shape = 2) #2号,空心的例子
# 1--空心圆圈
# 2--空心三角形
# 3--十字架
# 15--实心正方形
# 16--实心圆圈
# 17--实心三角形

 

a823724fee0d43088111708c521d78f2.png

a2a62f3ef553483da34cd678545ded6d.png

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

使用黑色填充,填充函数为fill() 


ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species),
             shape = 24,
             fill = "black") #24号,双色的例子

ae9241e8b1314ab59a9d71a7efded2c3.png

五、几何对象 (可以叠加)

1.局部设置和全局设置

使用geom_smooth()函数基于线性回归方法拟合数据点之间的趋势。

(1)局部设置--仅对当前图层有效

ggplot(data = iris) + 
  geom_smooth(mapping = aes(x = Sepal.Length, 
                          y = Petal.Length))+
  geom_point(mapping = aes(x = Sepal.Length, 
                           y = Petal.Length))

(2)全局设置--对所有图层有效 

#第二种写法
ggplot(data = iris,mapping = aes(x = Sepal.Length, 
                                 y = Petal.Length))+
  geom_smooth()+
  geom_point()

6ec677bb10964963a84957aef8dc4207.png

六、箱线图 boxplot()

1.箱线图+点状图

ggplot(data = iris,mapping = aes(x = Species, 
                                 y = Sepal.Width,
                                 fill = Species)) + 
  geom_boxplot()+
  geom_point()

29b401f2bcc84e2fa88ef0905714bcf2.png

 

ggplot(data = iris,mapping = aes(x = Species, 
                                 y = Sepal.Width,
                                 fill = Species)) + 
  geom_boxplot()+
  # geom_point(position = "jitter")
  geom_jitter()

ba2c536ae3a9422b9a7f77d12a0baf05.png

 

即X轴与Y轴颠倒一下,即coord_flip()翻转坐标系

ggplot(data = iris,mapping = aes(x = Species, 
                                 y = Sepal.Width,
                                 fill = Species)) + 
  geom_boxplot()+
  geom_jitter()+ 
  coord_flip()

 3dfbe2cd8c544357b3d83f81988d41e0.png可以对比一下上一张图

七、主题

theme_bw()改主题,去掉灰色格子

ggplot(data = iris,mapping = aes(x = Species, 
                                 y = Sepal.Width,
                                 fill = Species)) + 
  geom_boxplot()+
  geom_jitter() 
  theme_bw()

 335f469c86c34df381d7e595d8821798.pngf9ecfbada4da451cbc14ff5a89db7426.png

 

 

 

  • 30
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在R语言中绘制swimmer plot,你可以按照以下步骤进行操作: Step1. 导入所需的绘图包。在R中,你可以使用`install.packages("ggplot2")`来安装ggplot2包,然后使用`library(ggplot2)`来调用该包\[1\]。 Step2. 准备数据。确保你的数据集中包含需要绘制的变量。你可以使用`as.factor()`函数将需要绘制的变量转换为因子变量\[2\]。 Step3. 使用ggplot2包创建图像对象。使用`ggplot()`函数来指定x轴和y轴的变量,并将其赋值给一个对象,比如`p`\[2\]。 Step4. 使用`geom_violin()`函数来绘制swimmer plot。这个函数可以在图像对象上添加violin plot\[2\]。 综上所述,你可以使用以下代码来在R语言中绘制swimmer plot: ``` install.packages("ggplot2") library(ggplot2) # 准备数据 data$dose <- as.factor(data$dose) # 创建图像对象 p <- ggplot(data, aes(x = dose, y = len)) # 添加violin plot p + geom_violin() ``` 希望这个回答对你有帮助! #### 引用[.reference_title] - *1* *2* [R语言作图——violin plot(小提琴图)](https://blog.csdn.net/biocity/article/details/82931619)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [R语言plot()画图](https://blog.csdn.net/SSSQQQWWW/article/details/110881624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值