如何将配对点与 R 中 ggplot2 中散点图中的线连接起来?
在本文中,我们将讨论如何使用 R 编程语言在 ggplot2 中连接散点图中的配对点。
散点图帮助我们可视化两个更分类的数据集群的变化。有时,我们需要使用成对的定量变量并尝试将它们的关系可视化。例如,我们可能有对应于两个不同类别的两个定量变量,并希望通过线连接这些数据点。
Syntax: ggplot(aes( x, y )) + geom_point( aes( color ) ) + geom_line( aes( group ) )
Where:
- group: the variable that has pairs to be joined.
- color: the variable that categorizes points
示例 1:使用连接成对点的线创建散点图
这是一个基本散点图,其中线连接成对点。
R
# create dataframe
sample_data <- data.frame( value1 = c(31,12,15,28,45,
21,22,34,56,10),
value2 = c(1,2,4,8,16,3,9,
7,5,11),
category1 = c('A','B','A','B','A',
'B','A','B','A','B'),
category2 = c(0,0,1,1,2,2,3,3,4,4))
# load tidyverse
library(tidyverse)
# create plot
ggplot(sample_data, aes(value1,value2)) +
geom_point(aes(color=category1, size=3)) +
geom_line(aes(group = category2))
R
# create dataframe
sample_data < - data.frame(value1=c(31, 12, 15, 28, 45, 21,
22, 34, 56, 10),
value2=c(1, 2, 4, 8, 16, 3, 9, 7, 5, 11),
category1=c('A', 'B', 'A', 'B', 'A',
'B', 'A', 'B', 'A', 'B'),
category2=c(0, 0, 1, 1, 2, 2, 3, 3, 4, 4))
# load tidyverse
library(tidyverse)
# create plot
ggplot(sample_data, aes(value1, value2)) +
geom_line(aes(group=category2), color="grey",
size=2, alpha=0.5) +
geom_point(aes(color=category1, size=7))
R
# create dataframe
sample_data < - data.frame(value1=c(31, 12, 15, 28, 45, 21,
22, 34, 56, 10),
value2=c(1, 2, 4, 8, 16, 3, 9, 7, 5, 11),
category1=c('A', 'B', 'A', 'B', 'A', 'B',
'A', 'B', 'A', 'B'),
category2=c(0, 0, 1, 1, 2, 2, 3, 3, 4, 4))
# load tidyverse
library(tidyverse)
# create plot with ridged line
ggplot(sample_data, aes(value1, value2)) +
geom_line(aes(group=category2), linetype=2) +
geom_point(aes(color=category1, size=3))
输出:
颜色定制
我们可以使用 geom_line() 的 color 和 size 属性来更改连接段的颜色和宽度。
电阻
# create dataframe
sample_data < - data.frame(value1=c(31, 12, 15, 28, 45, 21,
22, 34, 56, 10),
value2=c(1, 2, 4, 8, 16, 3, 9, 7, 5, 11),
category1=c('A', 'B', 'A', 'B', 'A',
'B', 'A', 'B', 'A', 'B'),
category2=c(0, 0, 1, 1, 2, 2, 3, 3, 4, 4))
# load tidyverse
library(tidyverse)
# create plot
ggplot(sample_data, aes(value1, value2)) +
geom_line(aes(group=category2), color="grey",
size=2, alpha=0.5) +
geom_point(aes(color=category1, size=7))
输出:
线路定制
我们可以使用 linetype 属性将连接线转换为脊线。适用于线图的每个属性也适用于这条线。
电阻
# create dataframe
sample_data < - data.frame(value1=c(31, 12, 15, 28, 45, 21,
22, 34, 56, 10),
value2=c(1, 2, 4, 8, 16, 3, 9, 7, 5, 11),
category1=c('A', 'B', 'A', 'B', 'A', 'B',
'A', 'B', 'A', 'B'),
category2=c(0, 0, 1, 1, 2, 2, 3, 3, 4, 4))
# load tidyverse
library(tidyverse)
# create plot with ridged line
ggplot(sample_data, aes(value1, value2)) +
geom_line(aes(group=category2), linetype=2) +
geom_point(aes(color=category1, size=3))
输出: