一、画图安装包
如果你在运行代码过程中,报错显示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() #关闭画板
得到的图如下:
四、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))
2.属性设置(颜色、大小、透明度、点的形状,线型等)
(1)点状图,增加颜色
geom_point的参数是具体颜色,【color=“blue”】
ggplot(data = iris) +
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length),
color = "blue")
(2)点状图,增加大小、透明度、点的形状
ggplot(data = iris) +
geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length),
size = 2, # 点的大小5mm
alpha = 0.5, # 透明度 50%
shape = 8) # 点的形状
(3)映射:按照数据框的某一列来定义图的某个属性
按照数据框的Species那一列来定义图的颜色,该颜色是由系统默认的
aes的参数是列名,即【color=Species】
ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length,
color = Species))
(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"))
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--实心三角形
(2) 既有边框又有内心的,才需要color和fill两个参数
使用黑色填充,填充函数为fill()
ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length,
color = Species),
shape = 24,
fill = "black") #24号,双色的例子
五、几何对象 (可以叠加)
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()
六、箱线图 boxplot()
1.箱线图+点状图
ggplot(data = iris,mapping = aes(x = Species,
y = Sepal.Width,
fill = Species)) +
geom_boxplot()+
geom_point()
ggplot(data = iris,mapping = aes(x = Species,
y = Sepal.Width,
fill = Species)) +
geom_boxplot()+
# geom_point(position = "jitter")
geom_jitter()
即X轴与Y轴颠倒一下,即coord_flip()翻转坐标系
ggplot(data = iris,mapping = aes(x = Species,
y = Sepal.Width,
fill = Species)) +
geom_boxplot()+
geom_jitter()+
coord_flip()
可以对比一下上一张图
七、主题
theme_bw()改主题,去掉灰色格子
ggplot(data = iris,mapping = aes(x = Species,
y = Sepal.Width,
fill = Species)) +
geom_boxplot()+
geom_jitter()
theme_bw()
标签:plot,aes,iris,--,ggplot,---,Length,geom From: https://blog.csdn.net/Rita_rr/article/details/136852021