我试图绘制VALUE
列,然后用LABEL
列标记
X VALUE LABEL COLOR
1 78 T041N2 3
2 77 T018N3 2
3 97 T014N3 1
4 0 T149N4 1
5 62 T043N1 3
6 66 T018N3 3
7 56 T145N4 3
8 63 T019N4 1
9 82 T039N0 1
10 75 T018N3 1
11 76 T018N3 1
12 63 T043N1 2
13 0 T149N4 2
14 73 T019N4 2
15 77 T019N4 3
16 100 T149N4 3
17 92 T043N1 3
我读取数据然后绘制VALUE
数据,然后使用以下代码将LABEL
标签与text命令放在一起并且工作正常
my_data <- read.table("mydata.dat", header=T, sep="\t")
plot(my_data$VALUE, type="o")
text(my_data$VALUE, y = NULL, labels = my_data$LABEL, adj = NULL,pos = 3, offset = 0.5, vfont = NULL,cex = 0.5, col = NULL, font = NULL)
但现在我被要求根据COLOR
向量绘制每个数据点(现在只是黑色圆圈)(1为红色,2为绿色,3为黄色)。
我如何根据COLOR
向量绘制点?
答案 0 :(得分:0)
首先创建一个包含所需每种颜色文本的列:
color_names <- c("red", "green", "yellow")
my_data$color_name <- color_names[my_data$COLOR]
然后在col
电话中添加plot
参数:
plot(my_data$VALUE, type="o", col=my_data$color_name)
答案 1 :(得分:0)
要完成上一个答案,您还可以修改&#34;调色板&#34;
palette(c("red", "green", "yellow"))
plot(my_data$VALUE, type="o", col=my_data$COLOR)
HTH
答案 2 :(得分:0)
试试这个:
#dummy data
my_data <- read.table(text="X VALUE LABEL COLOR
1 78 T041N2 3
2 77 T018N3 2
3 97 T014N3 1
4 0 T149N4 1
5 62 T043N1 3
6 66 T018N3 3
7 56 T145N4 3
8 63 T019N4 1
9 82 T039N0 1
10 75 T018N3 1
11 76 T018N3 1
12 63 T043N1 2
13 0 T149N4 2
14 73 T019N4 2
15 77 T019N4 3
16 100 T149N4 3
17 92 T043N1 3", header=TRUE)
mycols<-c("red","green","yellow")
#using base plot
plot(my_data$VALUE, pch=19, bty="n",col=mycols[my_data$COLOR],main="Using base R")
lines(my_data$VALUE, type="b")
text(my_data$VALUE, y = NULL,
labels = my_data$LABEL,
adj = NULL, pos = 3,
offset = 0.5, vfont = NULL,cex = 0.5, col = NULL, font = NULL)