ggplot 按年份和密度函数分组的直方图

问题描述 投票:0回答:1

我想为我的数据表

dt
创建一个按
acquiYear
分组的直方图,其中 y 轴代表
nrOrders
,x 轴代表
month
。我的数据表如下所示:

structure(list(acquiYear = c("2014", "2014", "2014", "2014", "2014", "2014", 
"2014", "2014", "2014", "2014", "2014", "2014", "2015", "2015", 
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2016", "2016", "2016", "2016", "2016", "2016", 
"2016", "2016", "2016", "2016", "2016", "2016", "2017", "2017", 
"2017", "2017", "2017", "2017", "2017", "2017", "2017", "2017", 
"2017", "2017", "2018", "2018", "2018", "2018", "2018", "2018", 
"2018", "2018", "2018", "2018", "2018", "2018"), month = structure(c(1L, 2L, 3L, 4L, 
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 
8L, 9L, 10L, 11L, 12L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 
11L, 12L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L), .Label = c("Jan", 
"Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", 
"Nov", "Dec"), class = "factor"), nrOrders = c(0, 0, 0, 0, 0, 
0, 0, 0, 1, 1, 2, 0, 2, 4, 5, 3, 7, 3, 5, 4, 3, 7, 8, 7, 2, 24, 
16, 33, 9, 27, 16, 10, 27, 9, 31, 35, 11, 11, 25, 15, 18, 19, 
19, 8, 27, 34, 43, 51, 0, 11, 2, 0, 0, 0, 0, 0, 4, 5, 1, 0), 
    ), row.names = c(NA, -60L), class = c("data.table", 
"data.frame"))

我需要为每个

month
每个
acquiYear
一个酒吧,并为几个月内的每个
acquiYear
一条密度线。 年份的颜色应该是
c("#00943C", "#4A52A0", "#FDC300", "#6F6F6F", "#EC4C24")
。 我该如何解决这个问题?

r ggplot2 histogram ggplotly geom-histogram
1个回答
0
投票

问题是您所描述的是不是直方图。您似乎正在寻找躲避条形图。也许是这样的:

ggplot(df, aes(month, nrOrders, fill = acquiYear)) +
  geom_col(position = 'dodge') +  
  xlab("Month") +   
  ylab("Nr. of Orders") +    
  ggtitle(paste("Delivery year 2018")) +   
  theme_classic() +   
  theme(plot.title = element_text(face = "bold", hjust = 0.5)) +   
  theme(axis.title = element_text(face = "bold")) +
  scale_fill_manual(values = c("#00943C", "#4A52A0", "#FDC300", 
                               "#6F6F6F", "#EC4C24")) 

为每年添加密度曲线在这里没有任何意义。密度曲线显示连续范围内单个变量的测量值密度,而条形图已完全描述了等间隔的测量值。您可以为每年添加一条平滑的曲线,但绘图已经很复杂,并且曲线不会添加任何信息;事实上,它们会掩盖你的绘图已经显示的数据。

© www.soinside.com 2019 - 2024. All rights reserved.