我的数据框是
steps.1 interval.1 steps.2 interval.2 steps.3 interval.3
1 0 0 0 0 0 0
2 0 5 0 5 0 5
3 0 10 0 10 0 10
4 0 15 0 15 0 15
5 0 20 0 20 0 20
6 0 25 0 25 0 25
7 0 30 0 30 0 30
8 0 35 0 35 0 35
9 0 40 0 40 0 40
10 0 45 0 45 0 45.................
.
.
.
.
在step.1与interval.1之间绘制图形。
我的代码
g<-ggplot(temp,aes(x=interval.1,y=steps.1))+scale_x_continuous(name="intervals",breaks = seq(1000,1500,50),limits = c(1000,1500))
g <- g + geom_jitter(aes(x=interval.1,y=steps.1,color="dark red")) + geom_jitter(aes(x=interval.2,y=steps.2,color="green"))+ geom_jitter(aes(x=interval.3,y=steps.3,color="orange"))
+ geom_jitter(aes(x=interval.4,y=steps.4,color="violet"))+ geom_jitter(aes(x=interval.5,y=steps.5),color="blue") + geom_jitter(aes(x=interval.6,y=steps.6,color="pink"))
但是图例框中出现的颜色是随机的,也就是说,如果我将颜色设置为绿色,则表示正在绘制不同的颜色,而我无法更改图例框中每个文本标签的名称?
答案 0 :(得分:2)
由于所有零,我无法复制您的剧情。另外,我建议将这些数据转换为长格式。请参阅示例代码。我也建议使用镶嵌图,因为间隔似乎是一个类别变量。
#import the data
data <- read.csv("C:/test.csv")
colnames(data)[1] <- "steps.1"
data
#convert to long form
data.long <- reshape(data, varying=1:6, direction="long", timevar="steps", sep=".")
data.long$group <- as.factor(rep(c(1:3), each=10))
data.long
#plot
library(ggplot2)
ggplot(data.long, aes(x=interval, y=steps, color=group)) +
geom_point()
答案 1 :(得分:1)
请尝试使用此代码,而不要给出颜色,而应将变量名称保持不变(例如:color = interval.1)
steps.1 interval.1 steps.2 interval.2 steps.3 interval.3
1 1000 0 1000 0 1000
2 1100 5 1100 5 1100
3 1200 10 1200 10 1200
4 1300 15 1300 15 1300
5 1400 20 1400 20 1400
6 1401 25 1401 25 1401
7 1402 30 1402 30 1402
8 1403 35 1403 35 1403
9 1404 40 1404 40 1404
10 1405 45 1405 45 1405
g<-ggplot(temp,aes(x=interval.1,y=steps.1))+scale_x_continuous(name="intervals",breaks = seq(1000,1500,50),limits = c(1000,1500))
g <- g + geom_jitter(aes(x=interval.1,y=steps.1,color="interval.1")) + geom_jitter(aes(x=interval.2,y=steps.2,color="interval.2"))+ geom_jitter(aes(x=interval.3,y=steps.3,color="interval.3"))
#output