0

我有一个简化的数据框

library(ggplot2)
df <- data.frame(wins=c(1,1,3,1,1,2,1,2,1,1,1,3))
ggplot(df,aes(x=wins))+geom_histogram(binwidth=0.5,fill="red")

我想获得序列中的最终值,3,用不同的填充或 alpha 显示。识别其价值的一种方法是

tail(df,1)$wins

另外,我想让直方图条移动,使它们以数字为中心。我尝试从获胜值中减去失败

4

2 回答 2

2

您可以geom_histogram()使用aes(fill = cond).

要选择不同的颜色,请使用其中一种scale_fill_*()功能,例如scale_fill_manual(values = c("red", "blue")

library(ggplot2)
df <- data.frame(wins=c(1,1,3,1,1,2,11,2,11,15,1,1,3))
df$cond <- df$wins == tail(df,1)$wins
ggplot(df, aes(x=wins, fill = cond)) +
  geom_histogram() +
  scale_x_continuous(breaks=df$wins+0.25, labels=df$wins) +
  scale_fill_manual(values = c("red", "blue"))

在此处输入图像描述

于 2018-04-10T20:18:24.470 回答
1

1)要绘制不同颜色的垃圾箱,您可以将geom_histogram()其用于子集。

2) 要在 x 轴上沿数字居中条形,您可以调用scale_x_continuous(breaks=..., labels=...)

所以,这段代码

library(ggplot2)
df <- data.frame(wins=c(1,1,3,1,1,2,11,2,11,15,1,1,3))
cond <- df$wins == tail(df,1)$wins

ggplot(df, aes(x=wins)) +
  geom_histogram(data=subset(df,cond==FALSE), binwidth=0.5, fill="red") +
  geom_histogram(data=subset(df,cond==TRUE), binwidth=0.5, fill="blue") +
  scale_x_continuous(breaks=df$wins+0.25, labels=df$wins)

产生情节:

在此处输入图像描述

于 2012-11-14T12:16:55.487 回答