📜  如何将配对点与 R 中 ggplot2 中散点图中的线连接起来?

📅  最后修改于: 2022-05-13 01:54:41.642000             🧑  作者: Mango

如何将配对点与 R 中 ggplot2 中散点图中的线连接起来?

在本文中,我们将讨论如何使用 R 编程语言在 ggplot2 中连接散点图中的配对点。

散点图帮助我们可视化两个更分类的数据集群的变化。有时,我们需要使用成对的定量变量并尝试将它们的关系可视化。例如,我们可能有对应于两个不同类别的两个定量变量,并希望通过线连接这些数据点。

示例 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))

输出: