图中的标记值?

时间:2016-02-25 17:35:06

标签: r plot ggplot2 histogram density-plot

我使用TeachingDemos包创建的数据的点图如下所示。我想用不同的颜色绘制一些数据点。这些标有*以下*。 Sitbu已经回答了这一部分,但现在我想在密度图和组合图中标出这些点?

输入:

a1<- c(0.2,0.3,0.5)
a2<-c(1,0.9,0.7)
a3<-c(0.8,0.1,0.12)
a4<-c(0.4,2,0.33)
a<-cbind(a1,a2,a3,a4)
a
     a1  a2   a3   a4
[1,] 0.2 1.0* 0.80 0.40
[2,] 0.3 0.9* 0.10 2.00*
[3,] 0.5 0.7 0.12 0.33

dots(a)

enter image description here 1

我想要一个这样的情节: enter image description here 2

另外,我想在密度图和组图中标出这些点?

density(a)

hist(a)
lines(d, col="red")

2 个答案:

答案 0 :(得分:2)

您似乎正在使用TeachingDemos包中的dots()函数。看看它的源代码,我可以重现你的第一个情节如下:

x <- a
y <- as.vector(table(x))
plot(x, y, ylab = "Count")

enter image description here

现在的诀窍是,从x中选择应该为红色的点并将其颜色设置为红色。这可以通过首先为每个点创建包含"black"的向量,然后覆盖"red"中的一些来完成:

dot_col <- rep("black", length(a))
red_x <- c(1.0, 0.9, 2.00)
dot_col[match(red_x, x)] <- "red"
plot(x, y, col = dot_col, ylab = "Count")

enter image description here

答案 1 :(得分:0)

您还没有提供用于创建绘图的代码,但一般情况下,您可以使用绘图中的col参数来更改点的颜色。通过将col设置为颜色值矢量,您可以更改绘图中每个点的颜色。