Plotly R add_trace 对象相距很远
Plotly R add_trace objects are far apart
我正在尝试制作宽度比平时更小的分组条形图。当我尝试减小宽度时,条形之间存在我不想要的间隙。有什么办法可以改变吗?有一种方法可以让两个条彼此紧贴在一起吗?
我已经复制了下面的代码:
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')
此外,我希望条形图的值显示在图表的底部。我试过了,但只能把它放在栏内,但显示在栏的顶部而不是底部。
非常感谢任何帮助。
如果您对 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)
我正在尝试制作宽度比平时更小的分组条形图。当我尝试减小宽度时,条形之间存在我不想要的间隙。有什么办法可以改变吗?有一种方法可以让两个条彼此紧贴在一起吗?
我已经复制了下面的代码:
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')
此外,我希望条形图的值显示在图表的底部。我试过了,但只能把它放在栏内,但显示在栏的顶部而不是底部。
非常感谢任何帮助。
如果您对 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)