使用因子时如何在y轴上的ggplot中插入count或%

时间:2019-07-03 21:35:16

标签: r ggplot2

我想制作一个图表,在x轴上显示日期范围,在y轴上显示日期(2个类别)的病例数(或百分比)的堆叠条形。 / p>

例如:在2010年1月1日,我有3种情况(2x是,1x否)。为了让我能够大致了解正在讨论的案例,我希望ggplot在y轴上显示数字范围为1-3的标度,而不是“是” /“否”。

我浏览了ggplot备忘单,唯一处理y轴的是scale_y_discrete(),但这并没有真正改变任何东西。

s <- c("2010-01-01", "2010-01-01", "2010-01-01", "2010-01-02", 
       "2010-01-02", "2010-01-02", "2010-01-02")
g <- c("Yes", "Yes", "No", "No", "No", "Yes", "No")

s <- strftime(s, "%D")

df <- data.frame(s,g)
df$g <- factor(df$g)

ggplot(data = df, aes(x = s, y = g, fill=g)) +
  geom_bar(stat = "identity") +
  scale_y_discrete() +
  labs(x = "Date",
       y = "Answer",
       title = "Sample")][1]][1]

我可以生成图表,但是我不知道如何用y轴上的比例尺(案例数:1、2、3、4、5、6)替换因子级别。 ggplot中我看不到哪个选项?

1 个答案:

答案 0 :(得分:0)

直方图:

ggplot(df, aes(x=s)) + geom_histogram(stat="count")

enter image description here

或者,

ggplot(df, aes(x=s, color=g)) + geom_histogram(stat="count", fill="white", position="dodge")

enter image description here