楼主: mengqinqing
3733 11

[问答] R作图:插入颜色 [推广有奖]

  • 8关注
  • 6粉丝

已卖:1份资源

讲师

94%

还不是VIP/贵宾

-

威望
0
论坛币
64351 个
通用积分
8.0217
学术水平
7 点
热心指数
5 点
信用等级
4 点
经验
21974 点
帖子
468
精华
0
在线时间
650 小时
注册时间
2007-11-24
最后登录
2025-6-4
毕业学校
中山大学

楼主
mengqinqing 发表于 2013-1-14 22:27:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问各位大侠,我遇到一个画图问题,但是不知道如何实现,希望各位帮助。
我想画一个图,横轴是 1 2 3 4 5,纵轴对应是各种颜色,比如red,就在横轴是1的那一格里显示出红色来,2对应的是green则在2对应的那一格就都是绿色,请问这个在R中怎么实现,非常感谢!
二维码

扫码加我 拉你入群

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

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

关键词:请问各位大侠 Green 如何实现 非常感谢 各位大侠 如何

用自己的力量站在自己的位置

沙发
mathfan 发表于 2013-1-15 05:09:18
x=1:10
y=x
plot(x,y,col=1:length(x),pch=16)

藤椅
mengqinqing 发表于 2013-1-15 15:28:44
mathfan 发表于 2013-1-15 05:09
x=1:10
y=x
plot(x,y,col=1:length(x),pch=16)
谢谢!
不过这个画出来是点,我想要那一列都填充为那个颜色,能改进么?
用自己的力量站在自己的位置

板凳
mathfan 发表于 2013-1-16 00:58:19
plot(c(0, 6), c(0, 5), type = "n",xaxs="i",yaxs="i")
xleft=seq(0.5,4.5,by=1)
ybottom=rep(0,5)
xright=seq(1.5,5.5,by=1)
ytop=rep(5,5)
rect(xleft, ybottom, xright, ytop,col = seq(2,6))
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
mengqinqing + 1 + 1 + 1 非常感谢!
qoiqpwqr + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 1   查看全部评分

报纸
mengqinqing 发表于 2013-1-16 17:50:17
mathfan 发表于 2013-1-16 00:58
plot(c(0, 6), c(0, 5), type = "n",xaxs="i",yaxs="i")
xleft=seq(0.5,4.5,by=1)
ybottom=rep(0,5)
非常感谢!很强大!
这个rect我没看太懂,如果改变一下,比如a b c d e 表示5种颜色,然后我想让它按下面的方式出现:
a d b d e a d f e d,也就是说横轴的1-10就分别对应前面一种颜色,没有规律,只是一种颜色的对应关系,这个有办法么?
用自己的力量站在自己的位置

地板
jmpamao 发表于 2013-1-16 22:20:23
mengqinqing 发表于 2013-1-16 17:50
非常感谢!很强大!
这个rect我没看太懂,如果改变一下,比如a b c d e 表示5种颜色,然后我想让它按下面 ...
趁机学习了rect,画长方形,呵呵



a=1; b=2;c=3; d= 4;e=5
rect(,,,,col=c(a,d,b,d,e,a,d,f,e,d))
应该可以的
已有 1 人评分热心指数 收起 理由
qoiqpwqr + 1 热心帮助其他会员

总评分: 热心指数 + 1   查看全部评分

7
kaifengedu 发表于 2013-1-17 06:47:44
没有规律的话这种应该也可以
  1. plot(c(0, 6), c(0, 5), type = "n",xaxs="i",yaxs="i")
  2. xleft=seq(0.5,4.5,by=1)
  3. ybottom=rep(0,5)
  4. xright=seq(1.5,5.5,by=1)
  5. ytop=rep(5,5)
  6. a = 1:5
  7. rect(xleft, ybottom, xright, ytop,col=sample(a,10, replace = TRUE))
复制代码

8
mengqinqing 发表于 2013-1-18 17:35:48
kaifengedu 发表于 2013-1-17 06:47
没有规律的话这种应该也可以
嗯,没有规律的话确实可以,谢谢!
用自己的力量站在自己的位置

9
mengqinqing 发表于 2013-1-18 17:42:10
jmpamao 发表于 2013-1-16 22:20
趁机学习了rect,画长方形,呵呵
非常感谢!

用自己的力量站在自己的位置

10
mengqinqing 发表于 2013-1-18 17:51:14
非常感谢各位的帮忙,终于能够实现要做的图了,这里分享一下所用的程序:
  1. n=100
  2. c=5
  3. data=sample(c ,n, replace = TRUE)
  4. plot(c(0, n+1), c(0, 1),type = "n",xaxs="i",yaxs="i")
  5. xleft=seq(0,n,by=1)
  6. xright=seq(1,n+1,by=1)
  7. ybottom=rep(0,n)
  8. ytop=rep(1,n)
  9. rect(xleft, ybottom, xright, ytop,col=data)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
jmpamao + 1 + 1 + 1 鼓励积极发帖讨论

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

用自己的力量站在自己的位置

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 23:47