全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
23700 5
2016-06-24

下图是我用简单的plot(y,pch=20,cex=0.5)命令绘制的散点图,我希望y值为1的时候散点颜色为绿,y值为2的时候散点颜色为橙,y值为3的时候三点颜色为红,该用什么命令?
Rplot.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-6-24 10:32:44
y$state <- factor(y$state)
y$color[y$state == 1] <- "green"
y$color[y$state == 2] <- "orange"
y$color[y$state == 3] <- "red"
dotchart (y$Index ,pch=20,cex=0.5, color = y$color)

大概是这样分三个组分别画吧,你自己测试下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-6-24 12:10:14
爱迪生_陈 发表于 2016-6-24 10:32
y$state
ycolor未被定义吧,怎么就直接用索引了?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-6-24 12:17:44
爱迪生_陈 发表于 2016-6-24 10:32
y$state
我这里的y 是一列数值向量.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-6-24 15:19:27
sergiowang 发表于 2016-6-24 12:17
我这里的y 是一列数值向量.
那你要不就按我的将y转换为数据框格式:
y$data <- as.data.frame(y)
colnames(y) <- c("data")
y$color[y$data == 1] <- "green"
y$color[y$data == 2] <- "orange"
y$color[y$data == 3] <- "red"
dotchart (y$data,pch=20,cex=0.5,color=y$color)

要不就定义一个记录每个点颜色的同样长度的向量color:
color2 <- factor(y, levels =c(1,2,3), labels = c("red","green","orange") )
然后再画图
dotchart (y,pch=20,cex=0.5,color=color2)
建议散点图用dotchart画,plot要设置格式参数par(),大部分时候不好用。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-6-24 17:30:53
十分感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群