如何在 R 中的 ggplot2 中注释特定的集群或组?
R 编程语言中的 ggplot 方法用于使用指定的数据框进行图形可视化。它用于实例化 ggplot 对象。可以为绘图对象创建美学映射,以分别确定 x 轴和 y 轴之间的关系。可以将其他组件添加到创建的 ggplot 对象中。
Syntax: ggplot(data = NULL, mapping = aes(), fill = )
Arguments :
data – Default dataset to use for plot.
mapping – List of aesthetic mappings to use for plot.
可以使用各种方法将几何图形添加到绘图中。 R 中的 geom_point() 方法可用于将点添加到在 R 中创建的图表中的散点图中,其中可能包含也可能不包含美学映射,例如颜色。
geom_point(aes(color= ))
颜色可以分配给数据框列的各个组。数据框中的点可以使用图中的点进行标记。因此,可以通过创建点来创建散点图。这些点可能属于也可能不属于同一组。这些组可以在图中以不同方式标记。
方法一:使用 geom_mark_circle 包
geom_mark_circle geom 方法允许用户通过圆圈注释点集。该方法可以包含一组美学映射,这些映射使用颜色、位置或标签来指定。
geom_mark_circle(aes(color = ))
这些点可以根据它们对应的分组列值分配不同的颜色。这些点用不同的颜色标记。然后使用 R 中的 geom_mark_circle() 方法围绕它们构建圆。这将标记的点分隔为不同的组。最初,col1 点被标记为 x ax-axisxis 点,col2 点被标记为对应于数据框的 y 轴点。这些点被标记为属于不同的颜色,可以使用美学映射指定并作为组件添加到 ggplot() 方法。使用 geom_point() 组件为这些点分配颜色。
R
# importing the required library
library(ggplot2)
data_frame < - data.frame(stringsAsFactors=FALSE,
col1=c(rep(LETTERS[1:3], each=4)),
col2=c(rep(1: 4, each=3)),
col3=c(1: 12))
print("original dataframe")
print(data_frame)
data_frame % >%
ggplot(aes(x=col2,
y=col3))+
# marking circles
geom_mark_circle(aes(color=col1))+
# marking points on the plot
geom_point(aes(color=col1))
R
# importing the required library
library(tidyverse)
data_frame < - data.frame(stringsAsFactors=FALSE,
col1=c(rep(LETTERS[1:3], each=4)),
col2=c(rep(1: 4, each=3)),
col3=c(1: 12))
print("original dataframe")
print(data_frame)
data_frame % >%
ggplot(aes(x=col2,
y=col3))+
geom_mark_ellipse(aes(color=col1,
label=col1),
)+
geom_point(aes(color=col1))
输出
[1] "original dataframe"
> print(data_frame)
col1 col2 col3
1 A 1 1
2 A 1 2
3 A 1 3
4 A 2 4
5 B 2 5
6 B 2 6
7 B 3 7
8 B 3 8
9 C 3 9
10 C 4 10
11 C 4 11
12 C 4 12
方法二:使用 geom_mark_ellipse 方法
geom_mark_ellipse() geom 方法允许用户通过圆圈注释点集。该方法可以包含一组美学映射,这些映射使用颜色、位置来指定。也可以使用此方法中的 label 参数分配标签。
geom_mark_circle(aes(color = , label = ))
这些点可以根据它们对应的分组列值分配不同的颜色。这些点用不同的颜色标记。然后使用 R 中的 geom_mark_ellipse() 方法围绕它们构建椭圆。这将标记的点分隔为不同的组。
R
# importing the required library
library(tidyverse)
data_frame < - data.frame(stringsAsFactors=FALSE,
col1=c(rep(LETTERS[1:3], each=4)),
col2=c(rep(1: 4, each=3)),
col3=c(1: 12))
print("original dataframe")
print(data_frame)
data_frame % >%
ggplot(aes(x=col2,
y=col3))+
geom_mark_ellipse(aes(color=col1,
label=col1),
)+
geom_point(aes(color=col1))
输出
[1] "original dataframe"
> print(data_frame)
col1 col2 col3
1 A 1 1
2 A 1 2
3 A 1 3
4 A 2 4
5 B 2 5
6 B 2 6
7 B 3 7
8 B 3 8
9 C 3 9
10 C 4 10
11 C 4 11
12 C 4 12