【问题标题】:How to color only one of the labels of a histogram in R?如何只为R中直方图的一个标签着色?
【发布时间】:2014-10-08 04:50:05
【问题描述】:

我有一个这样的数据框:

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 R, Labeling not all points on the plot

在此先感谢您提供任何帮助 :-)

【问题讨论】:

    标签: r histogram labels


    【解决方案1】:

    一个简单的方法是创建一个新向量。比如:

    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 编程的一种非常通用的方法,在我看来,这是完成任何事情的最直接(但并不总是最好/最快)的方法。

    【讨论】:

    • 嗨,ssdecontrol!感谢您的评论,抱歉耽搁了:-)
    猜你喜欢
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    相关资源
    最近更新 更多