如何在 R 中只为直方图的一个标签着色?

2024-05-15

我有一个像这样的数据框:

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

我可以绘制一个直方图并为其添加标签(感谢这里的人对此的帮助“通过为 R 中每个条形的不同部分指定名称,使直方图更清晰 https://stackoverflow.com/questions/26112990/make-a-histogram-clearer-by-assigning-names-to-different-segments-of-each-bar-in/26113150?noredirect=1#comment41154629_26113150”)。我想知道是否有一种方法可以仅对直方图上的一个标签进行着色,例如仅对“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))

应该提到的是,我检查了这些页面,但似乎没有一个页面解决了这个问题:R 中的智能点标签放置 https://stackoverflow.com/questions/7611169/intelligent-point-label-placement-in-r, 未标记绘图上的所有点 https://stackoverflow.com/questions/19056649/labeling-not-all-points-on-the-plot

预先感谢您对此提供的任何帮助:-)


一个简单的方法是创建一个新向量。就像是:

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是你们不同的颜色。您在这里所做的只是说“我希望该索引具有这种颜色,而其他索引具有这种颜色。”这是一种非常通用的 R 编程方法,在我看来,这是完成任何事情的最直接(但并不总是最好/最快)的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 R 中只为直方图的一个标签着色? 的相关文章

随机推荐