如何在geom_col中的特定'year'添加所有正负值后绘制柱状图?

How to draw a column graph after adding all positive and negative values for a specific 'year' in geom_col?

我有一个 data frame 包含一段时间 (1948-2013) 的一些信息。每年还包含 4 season 方面的数据。现在有时,年份包含 positivenegative 数据。我的数据样本

   YEAR Region               temp_avg_max temp_avg_min temp_dif_avg_max whole_avg_min_temp
     <int> <chr>                       <dbl>        <dbl>            <dbl>              <dbl>
     1  1948 Central egion                33.1         20.6          -0.400              -0.516
     2  1948 Eastern Region               32.7         19.1          -0.775              -2.08 
     3  1948 Northern Region              33.5         20.2           0.0124             -0.970
     4  1948 Northsouthern Region         33.5         21.3           0.0443              0.154
     5  1948 Northwestern Region          31.6         20.9          -1.88               -0.232
     6  1948 Southeastern Region          32.5         21.8          -0.958               0.676
     7  1949 Central egion                33.1         20.6          -0.400              -0.516
     8  1949 Eastern Region               32.7         19.1          -0.775              -2.08 
     9  1949 Northern Region              33.5         20.2           0.0124             -0.970
     10 1949 Northsouthern Region         33.5         21.3           0.0443              0.154
     11 1949 Northwestern Region          31.6         20.9          -1.88               -0.232
     12 1949 Southeastern Region          32.5         21.8          -0.958               0.676

现在想画一个column graph我也画了。我的代码如下

plot_diff_max_temp_vs_year_region_col <- ggplot(data=diff_max_temp[diff_max_temp$YEAR %in% c(1948, 1960, 1972, 1984, 1996, 2008, 2013),], 
                                       aes(x=Region, y=temp_dif_avg_max, fill=factor(YEAR)))+
 geom_col(position="identity", width = 0.5)+
 geom_text(aes(label=sprintf("%0.1f", round(year_wise_region_max_temp, digits = 2))), 
 position=position_dodge(width=0.9), vjust=-0.50)+
 theme_minimal()+
 xlab("Region")+
 ylab("Temperature")+
 ggtitle("Max Temp with 12 years moving ") 

你可以看一下我在 hear online plot link

中的图表

但是,我想以这种方式绘制它们(将添加所有负值和正值)特定 Region 然后绘制 column.

欢迎提供任何指南

ggplot2 2.2.0negative stacking是可以的。

只需删除 geom_text 并更改一些小的东西。查找代码

plot_diff_max_temp_vs_year_region_col <- 
ggplot(data=diff_max_temp[diff_max_temp$YEAR %in% c(1948, 1960, 1972, 1984, 1996, 2008, 2013),]
                                       )+
geom_col(aes(x=Region, y=temp_dif_avg_max, fill=factor(YEAR)))+
 theme_minimal()+
 xlab("Region")+
 ylab("Temperature")+
 ggtitle("Max Temp with 12 years moving ") 
ggplotly(plot_diff_max_temp_vs_year_region_col)

我不确定,但你可以看看这个 link Link