“通常我们在R中用中的函数来绘制散点图。散点图显示了沿XY两个轴的两个变量的值,它展示了XY之间的关系,揭示了XY之间的相关性。”
一、简单散点图在R中的绘制
1.1 基本散点图绘制
我们用R自带的数据库“iris”中的几种植物的萼片宽度(Sepal.Width)和萼片长度(Sepal.)来举例。
在使用绘制散点图时我们需要执行以下步骤:
具体的绘制代码如下:
#安装并加载ggplot2 library,
install.packages
(ggplot2)
library(ggplot2)
# iris dataset 由R自带,运行下面的语句查看数据框
head
(iris)
# 基本图形绘制
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) +
geom_point()
1.2 修改点的属性和形状
可以通过以下()选项应用于点,自定义点的类型:
例如:
#加载ggplot2 library,
library(ggplot2)
# iris dataset 由R自带,运行下面的语句查看数据框
head
(iris)
# 在geom_point()中定义点的颜色,填充,形状,透明度,大小和边缘宽度等属性
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) +
geom_point(
color="orange",
fill="#69b3a2",
shape=21,
alpha=0.5,
size=6,
stroke = 2
)
二、绘制分组散点图并修改形状
依然以上述iris数据为例,以物种变量进行分组。
点的标记颜色color取决于数据字段中的值,图例会自动生成。
2.1 绘制分组散点图
# load ggplot2加载以下R包
library(ggplot2)
install.packages
(hrbrthemes)#这个包可以改变图片的灰色背景
library(hrbrthemes)
# 依然是自带数据,定义XY轴,只是添加了color= 函数
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, color=Species)) +
geom_point(size=6) +
theme_ipsum() #消除背景颜色
2.2定义各组点的透明度,形状或大小
# 加载包
library(ggplot2)
library(hrbrthemes)
# 图1,根据透明度分组
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, alpha=Species)) +
geom_point(size=6, color="#69b3a2") +
theme_ipsum()
# 图2,根据形状分组
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, shape=Species)) +
geom_point(size=6) +
theme_ipsum()
# 图3,根据大小分组
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, shape=Species)) +
geom_point(size=6) +
theme_ipsum()
2.3 绘制大小形状和透明度都由决定的图形
# load ggplot2
library(ggplot2)
library(hrbrthemes)
# A basic scatterplot with color depending on Species
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, shape=Species, alpha=Species, size=Species, color=Species)) +
geom_point() +
theme_ipsum()
三、散点图对点做标注
在散点图中使用()添加文本作为点的标记。它的工作原理与 ()几乎相同,但添加的是文本而不是图形。
在执行这一程序时你需要定义以下内容:
3.1 绘制散点图并添加文本注释
# 加载安装包
library(ggplot2)
# 取mtcars数据的前30行作为本案例的数据集
data=head(mtcars, 30)
# 使用 geom_text添加备注,使用“rownames”作为点的标注
ggplot(data, aes(x=wt, y=mpg)) +
geom_point() + # Show dots
geom_text(
label=rownames(data),
nudge_x = 0.25, nudge_y = 0.25,
check_overlap = T
)
3.2给注释加边框
将()函数更换为()函数即可添加矩形框。
# 加载安装包
library(ggplot2)
# 取mtcars数据的前30行作为本案例的数据集
data=head(mtcars, 30)
# 使用 geom_text添加备注,使用“rownames”作为点的标注
ggplot(data, aes(x=wt, y=mpg)) +
geom_point() + # Show dots
geom_label(
label=rownames(data),
nudge_x = 0.25, nudge_y = 0.25,
check_overlap = T
)
3.3只对一个点添加注释并修改注释格式(颜色和填充)
在画布固定位置(XY来定义)添加一段文本备注,由函数来完成。可以自定义label.和label.size,以及
# 加载包
library(ggplot2)
# 提取数据的前30行
data=head(mtcars, 30)
# 添加注释
ggplot(data, aes(x=wt, y=mpg)) +
geom_point() + # Show dots
geom_label(
label="Look at this!", #注释的文本
x=4.1,
y=20, #XY轴的位置
label.padding = unit(0.55, "lines"), # 文本框的大小格式
label.size = 0.35,
color = "black", #字体颜色
fill="#69b3a2" #填充颜色
)
3.4 对规定范围的点进行注释
还可以选择XY一定范围的值的点并仅对它们进行注释。采用()函数完成。
# 这里需要额外用到两个包,若未安装则使用install.packages()函数安装
library(ggplot2)
library(dplyr)
library(tibble)
# 提取前30行数据
data=head(mtcars, 30)
# 修改数据行名
data <- data %>%
rownames_to_column(var="carName")
# 绘制点图并标注mpg > 20,且wt>3的点
ggplot(data, aes(x=wt, y=mpg)) +
geom_point() +
geom_label(
data=data %>% filter(mpg>20 & wt>3), # 核心函数
aes(label=carName)
)
参考资料:
The R Graph .
从本文开始将陆续学习R语言绘图的内容plot颜色plot颜色,希望大家一起进步,点个关注吧。
限时特惠:本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情
站长微信:Jiucxh