R 如何仅用数字变量绘制直线?
这是数据帧(csv文件) 这是我一直在使用的代码:R 如何仅用数字变量绘制直线?,r,ggplot2,R,Ggplot2,这是数据帧(csv文件) 这是我一直在使用的代码: library(ggplot2) pl <- ggplot(df) + geom_point(aes(x=Estación, y = pH)) print(pl) 库(ggplot2) 你的意思是这样的吗 df %>% mutate(Estacion = factor(Estacion, levels = paste0("N", 1:nrow(df)))) %>% ggplot(aes(Estacion,
library(ggplot2)
pl <- ggplot(df) + geom_point(aes(x=Estación, y = pH))
print(pl)
库(ggplot2)
你的意思是这样的吗
df %>%
mutate(Estacion = factor(Estacion, levels = paste0("N", 1:nrow(df)))) %>%
ggplot(aes(Estacion, pH, group = 1)) +
geom_point() +
geom_line()
说明:我们通过重新调平因子变量Estacion
,确保x
值的正确顺序;由于x
是一个分类变量,我们需要使用group
美学告诉ggplot
点属于同一组,以便属于同一组的点可以用线连接
样本数据
df您是在ggplot(df)+geom_point(aes(x=Estación,y=pH))+geom_line()之后吗?
?我想您的意思是x值的顺序也不对吧?它们按字母顺序排列:N1,N10,…
有没有其他方法告诉R我想显示的“Estación”的顺序?我的意思是不做(“N”,1:nrow(df)),因为将来我可能会有其他类型的分类名称,我不知道如何对它们进行编码。这是可行的:mutate=(Estación2=factor(tf$EstacióN,levels=tf$EstacióN[1:nrow(tf)])pl@alvaronorales,因为你已经发现我的评论有些多余。但一般来说,你可以通过改变因子
级别的顺序来控制分类变量(即因子
)的顺序。是的,我对代码做了一点改进:tf@alvaronorales是的,组=1
只是给所有观察值分配了一个随机组标签(1
)
df %>%
mutate(Estacion = factor(Estacion, levels = paste0("N", 1:nrow(df)))) %>%
ggplot(aes(Estacion, pH, group = 1)) +
geom_point() +
geom_line()
df <- read.table(text =
" Estacion pH Conductividad
1 N1 6 29
2 N2 4 23
3 N3 2 16
4 N4 8 16
5 N5 3 20
6 N6 5 22
7 N7 8 27
8 N8 2 10
9 N9 3 27
10 N10 8 27
11 N11 8 26
12 N12 8 12
13 N13 2 19
14 N14 3 30
15 N15 5 25
16 N16 1 16
17 N17 1 17
18 N18 5 16
19 N19 8 15
20 N20 6 14");