R 使用plotly或ggplotly在堆叠条形图上显示错误条

R 使用plotly或ggplotly在堆叠条形图上显示错误条,r,ggplot2,plotly,ggplotly,R,Ggplot2,Plotly,Ggplotly,我需要将小部件转换为一个简单的ggplot,一个具有不确定性的堆叠条 数据: world.tot <- data.frame('country'='world', 'GHG'=c('CH4', 'CO2','N2O'), 'emi'=c(6e+6, 3e+6, 1+6), 'unc.min'=8561406, 'unc.max'=14027350) 这将为堆叠直方图的所有部分生成错误条

我需要将小部件转换为一个简单的ggplot,一个具有不确定性的堆叠条

数据:

 world.tot <- data.frame('country'='world', 'GHG'=c('CH4', 'CO2','N2O'), 
                         'emi'=c(6e+6, 3e+6, 1+6),
                         'unc.min'=8561406, 'unc.max'=14027350)
这将为堆叠直方图的所有部分生成错误条,而我只需要在堆叠直方图的顶部出现一个错误


非常感谢您提供的任何帮助

您可以准备一个每组只有一个错误大小的data.frame

library(dplyr)
world.err <- world.tot %>%
  group_by(country) %>%
  summarise(emi = sum(emi), unc.min = 8561406, unc.max = 14027350)

plot_ly(world.tot, x=~country. y=~emi, color=~GHG,type=bar,
        error_y=~list(array(c(unc.min, unc.max))) %>% 
  layout(barmode='stack')
library(dplyr)
world.err <- world.tot %>%
  group_by(country) %>%
  summarise(emi = sum(emi), unc.min = 8561406, unc.max = 14027350)
plot_ly(world.tot) %>%
  add_bars(x = ~country, y = ~emi, color = ~GHG, type='bar') %>%
  add_trace(x = ~country, y = ~emi, data = world.err,
              showlegend = F, mode='none', type='scatter',
              error_y = ~list(array = c(unc.min, unc.max), color = '#000000')) %>% 
  layout(barmode='stack')