2014-10-08 125 views
2

我有这样一个数据帧:如何给R中的直方图的一个标签着色?

CellLines ZEB1 
600MPE 2.8186 
AU565 2.783 
BT20 2.7817 
BT474 2.6433 
BT483 2.4994 
BT549 3.035 
CAMA1 2.718 
DU4475 2.8005 
HBL100 2.6745 
HCC38 3.2884 
HCC70 2.597 
HCC202 2.8557 
HCC1007 2.7794 
HCC1008 2.4513 
HCC1143 2.8159 
HCC1187 2.6372 
HCC1428 2.7327 
HCC1500 2.7564 
HCC1569 2.8093 

我能画一个柱状图和标签添加到(感谢这里的人对自己的这个“Make a histogram clearer by assigning names to different segments of each bar in R”帮助)。我想知道是否有一种方法仅对直方图上的一个标签着色,例如只有颜色“HCC1008”。 的代码到目前为止(感谢@Carlos的Cinelli):

Heiser_hist <- hist(Heiser$ZEB1[1:19], breaks=50, col="grey") 
Heiser$cut <- cut(Heiser$ZEB1, breaks=Heiser_hist$breaks) 
library(dplyr) 
Heiser <- Heiser %>% group_by(cut) %>% mutate(pos = seq(from=1, to=2, length.out=length(ZEB1))) 
with(Heiser, text(ZEB1, pos, labels=CellLines, srt=45, cex=0.9)) 

应该提到的是,我检查这些网页,但似乎没有人解决这个问题: Intelligent point label placement in RLabeling not all points on the plot

谢谢在此之前提供任何帮助:-)

回答

3

一个简单的方法来创建一个新的向量。喜欢的东西:

with(Heiser, { 
    color_HCC1008 <- ifelse(Heiser$CellLines == "HCC1008", col1, col2) 
    text(ZEB1, pos, labels = CellLines, srt = 45, cex = 0.9, col = color_HCC1008) 
}) 

其中col1col2是你不同的颜色。你在这里所做的只是说“我希望这个指数具有这种颜色,而其他指标具有这种颜色。”这是一种非常普遍的R编程方法,在我看来,它是最简单(但并不总是最好/最快)的方式来完成任何事情。

+0

嗨ssdecontrol!感谢您的评论和对延迟:-) – 2014-11-04 03:43:13