我有一个简化的数据框
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
另外,我想让直方图条移动,使它们以数字为中心。我试图从wins值中减去
答案 0 :(得分: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)
产生情节:
答案 1 :(得分:0)
您可以使用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"))