How to color only one of the histogram labels in R?

I have a data frame like this:

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

      

I could draw a histogram and add labels to it (thanks guys here for helping out with this " Make a histogram cleaner by naming different segments of each bar in R "). I was wondering if there is a way to colorize just one of the labels on the histogram, for example. only the color "HCC1008". The codes so far (thanks @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))

      

It should be noted that I have checked these pages, but none of them seems to address these issues: Smart placement of point labels in R , Labeling not all points in the graph

Thanks in advance for your help :-)

+2


source to share


1 answer


An easy way to do this is to create a new vector. Something like:

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

      



where col1

and col2

are your different colors. Everything you do here says, "I want this index to have this color and other indexes to have this color." This is a very general approach to R programming and, in my opinion, the easiest (but not always the best / fastest) way to do anything.

+3


source







All Articles