将负值显示为正值的堆积条形图

plotly stacked bar graph showing negative value as positive

这是数据框,第二行是 1.41 & - 1.40

但是,当我使用 plotly 时,图表上没有显示负值。

这是我的代码,如何使图形在图表上显示负值?

fig <- plot_ly(delay, x = ~AIRLINE_NAME, y = ~dep_mean, type = 'bar',name = 'Departure_Delay')
fig <- fig %>% add_trace(y = ~arr_mean, name = 'Arrival_Delay')
fig <- fig %>% layout(yaxis = list(title = 'Minute'), xaxis = list(title = 'Airline Name'), barmode = 'stack')

您应该在 layout 中提到 barmode = "relative"。这也将绘制负值。我从您的数据集中创建了一个示例数据。您可以使用此代码:

delay <- data.frame(AIRLINE = c("AA", "AS", "B6", "DL", "EV", "F9", "HA", "MQ", "NK", "OO"),
                 dep_mean = c(8.4, 1.4, 12, 6.6, 8.4, 12.6, 0.6, 9.9, 16.7, 7.5),
                 arr_mean = c(3.0, -1.4, 7.4, -0.7, 6.2, 11.5, 1.5, 6.3, 15.3, 5.4),
                 AIRLINE_NAME = c("American Airlines Inc", "Alaska Airlines Inc", "JetBlue Airways", "Delta Air lines Inc", "Atlantic Southeast Airlines", "Frontier Airlines Inc", "Hawaiian airlines", "American Eagle Arilines inc", "Spirit Air lines", "Skywest Airlines inc"))

library(plotly)
fig <- plot_ly(delay, x = ~AIRLINE_NAME, y = ~dep_mean, type = 'bar',name = 'Departure_Delay')
fig <- fig %>% add_trace(y = ~arr_mean, name = 'Arrival_Delay')
fig <- fig %>% layout(yaxis = list(title = 'Minute'), xaxis = list(title = 'Airline Name'), barmode = 'relative')

fig

输出图: