ggplot填充更改堆积密度图中的y轴

时间:2019-06-27 16:32:20

标签: r ggplot2

我已经坚持了好几天。我的原始数据包含调查受访者的yearmodel列。我之所以生成最后两列,是因为我认为它们对于创建此图表很有用-尽管下面的示例中未使用它们。

years.data <- years.data %>% mutate(rn = 1:58)
years.data <- years.data %>% mutate(pctprop = rn/58*100)

> head(years.data)
# A tibble: 6 x 4
   year model pctprop    rn
  <int> <chr>   <dbl> <int>
1  1937     2    1.72     1
2  1950     1    3.45     2
3  1960     1    5.17     3
4  1969     3    6.90     4
5  1973     2    8.62     5
6  1974     3   10.3      6

我想创建一个堆叠的区域或密度图,以显示整体数据随时间的累积增长(即每行+1),然后使用fill美学来显示{{1 }},在绘制的面积/密度内。

我已经设法通过几种方式完成了此任务,但是每种方法都略有偏离。

示例1(使用stat_bin的区域):

model

See example 1 此处的y轴未正确缩放。

示例2(使用stat_density的密度):

ggplot(years.data, aes(year, fill = model)) +
  stat_bin(
    aes(y = ..count.. / sum(..count..)),
    geom = "area",
    position = "stack",
    binwidth = 10
  ) +
  scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
  scale_x_continuous(breaks = round(seq(min(1935), max(2020), by = 10),1))

See example 2a, with fill | See example 2b, without fill

看来ggplot(years.data, aes(year)) + stat_density(aes(y = ..ndensity.., fill = model)) + scale_x_continuous(breaks = round(seq(min(1935), max(2020), by = 10),1)) + scale_y_continuous(labels = scales::percent) 正在使y轴膨胀并稍微调整整体形状。我不知道为什么。如果我使用相同的图结构删除fill=model,则y轴将保持在0到100%之间。

我是否误解了两个示例中的基本转换?

0 个答案:

没有答案