R GGPLOT2:x轴每一端的离散值距离
我一直在使用下面的代码。一切似乎都正常 好的,除了x轴上的离散值彼此相差很远 图表的末尾。我已经尝试了几件事,包括更改 离散值和玩弄极限,但无法使其发挥作用。 我在模拟数据上进行了测试,没有相同的问题,所以我 我猜这就是我处理数据的方式。我非常感谢 关于如何调整和/或正确处理数据以便 不会发生。正在导入的数据文件是以下内容的组合: 连续、离散和字符串变量 我使用的数据:R GGPLOT2:x轴每一端的离散值距离,r,graphics,plot,ggplot2,linegraph,R,Graphics,Plot,Ggplot2,Linegraph,我一直在使用下面的代码。一切似乎都正常 好的,除了x轴上的离散值彼此相差很远 图表的末尾。我已经尝试了几件事,包括更改 离散值和玩弄极限,但无法使其发挥作用。 我在模拟数据上进行了测试,没有相同的问题,所以我 我猜这就是我处理数据的方式。我非常感谢 关于如何调整和/或正确处理数据以便 不会发生。正在导入的数据文件是以下内容的组合: 连续、离散和字符串变量 我使用的数据: id_finger sex pre_post angle 1 F 0 7 1 F 2 5 2
id_finger sex pre_post angle
1 F 0 7
1 F 2 5
2 F 0 11
2 F 2 1
3 F 0 21
3 F 2 7
4 M 0 12
4 M 2 1
5 F 0 11
5 F 2 4
6 M 0 18
6 M 2 8
7 M 0 28
7 M 2 9
8 F 0 10
8 F 2 2
9 M 0 12
9 M 2 5
10 F 0 14
10 F 2 0
11 M 0 27
11 M 2 5
12 M 0 15
12 M 2 3
13 F 0 19
13 F 2 0
14 M 0 5
14 M 2 4
15 M 0 24
我的代码是:
vicryl.wide <- read.table("C:/vicryl2.csv",
header=TRUE, sep=",", na.strings=" ")
library(reshape2)
vicryl.long <- melt(vicryl.wide,
id.vars=c("id_finger","sex"),
measure.vars=c("pre_angle_r", "post_angle_r"),
variable.name="pre_post")
names(vicryl.long)[names(vicryl.long)=="value"] <- "angle"
levels(vicryl.long$pre_post)[levels(vicryl.long$pre_post)=="pre_angle_r"] <- 0
levels(vicryl.long$pre_post)[levels(vicryl.long$pre_post)=="post_angle_r"] <- 2
vicryl.long <- vicryl.long[ order(vicryl.long$id_finger,
vicryl.long$pre_post), ]
library(ggplot2)
ggplot(data=vicryl.long, aes(x=pre_post, y=angle, group=id_finger)) +
geom_line()
vicryl.wide再试一次,但将vicryl.long$pre_post转换为一个连续的数值变量,而不是一个因子,它将作为一个分类变量绘制到边缘,而不是中心(应该)
vicryl.long$pre_post <- as.numeric(as.character(vicryl.long$pre_post))
vicryl.long$pre_post再试一次,但将vicryl.long$pre_post转换为一个连续的数值变量,而不是一个因子,它将绘制到边缘,而不是作为一个分类变量的中心
vicryl.long$pre_post <- as.numeric(as.character(vicryl.long$pre_post))
vicryl.long$pre_post,您可以添加一个系数:
scale_x_discrete(expand=c(0, 0))
要一直打印到边,请执行以下操作:
df <- data.frame(x=factor(letters[1:10]), y=rnorm(100), group=rep(letters[20:24], each=20))
p <- ggplot(df, aes(x=x, y=y, colour=group)) + geom_line()
c <- scale_x_discrete(expand=c(0, 0)
p
p + c
df带有可添加的系数:
scale_x_discrete(expand=c(0, 0))
要一直打印到边,请执行以下操作:
df <- data.frame(x=factor(letters[1:10]), y=rnorm(100), group=rep(letters[20:24], each=20))
p <- ggplot(df, aes(x=x, y=y, colour=group)) + geom_line()
c <- scale_x_discrete(expand=c(0, 0)
p
p + c
df您能为我们提供一个示例数据框,或者输出summary(vicryl.long)的结果,以便我们自己生成它吗?我添加了数据以供将来参考。请让我知道是否有更好的方式来表达它,因为我是SO新手。您能为我们提供一个样本数据框,或者输出汇总结果(vicryl.long),以便我们自己生成它吗?我添加了数据以供将来参考。请让我知道是否有更好的方式来表达它,因为我是SO新手。