Plotly R add_trace对象相距甚远

时间:2018-01-23 11:53:36

标签: r plotly r-plotly

我正在尝试制作宽度小于平常的分组条形图。当我尝试减小宽度时,我不想要的条之间有间隙。有什么方法可以改变吗?一种让两根棒相互贴在一起的方法吗?

我已经复制了以下代码:

    library(plotly)

Animals <- c("giraffes", "orangutans", "monkeys")
SF_Zoo <- c(20, 14, 23)
LA_Zoo <- c(12, 18, 29)
data <- data.frame(Animals, SF_Zoo, LA_Zoo)

p <- plot_ly(data, x = ~Animals)%>%
add_trace(y = ~SF_Zoo, type = 'bar',width=0.25, name = 'SF Zoo')%>%
add_trace(y = ~LA_Zoo,type='bar',width=0.25, name = 'LA Zoo') %>%
 layout(yaxis = list(title = 'Count'), barmode = 'group')

另外,我希望条形图的值显示在图表的底部。我试过但是只能把它放在栏内,但显示在栏的顶部而不是底部。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果你对ggplotly开放(混合了plotly和ggplot2),那么获得你想要的东西可能更容易,特别是注释。

library(plotly)
library(ggplot2)
Animals <- c("giraffes", "orangutans", "monkeys", "giraffes", "orangutans", "monkeys")
Zoos <- c("SF_Zoo", "SF_Zoo", "SF_Zoo", "LA_Zoo", "LA_Zoo", "LA_Zoo")
Values <- c(20, 14, 23, 12, 18, 29)
data <- data.frame(Animals, Zoos, Values)

p <- ggplot(data = data, aes(x = Animals, y=Values, fill = Zoos, text = Values)) + 
geom_bar(stat = "identity", position = position_dodge(), width = 0.25)+ 
geom_text(label = Values, position = position_dodge(0.2), aes(y = 5)) + 
theme_bw()
ggplotyly(p)