我对R Plotly包有问题:
当我想绘制带负Y值的条形图时,会产生错误的情节。
以下是示例:
dane<-data.frame(x=1:10,y=seq(-5,4),g=rep(c('A','B'),each=5))
dane$x<-as.factor(dane$x)
ggplot(data=dane,aes(x=x,y=y,fill=g)) +
geom_bar(stat='identity', position = "identity")
ggplotly()
当我只是用ggplot进行简单绘图时(没有绘图),一切都很好:
ggplot(data=dane,aes(x=x,y=y,fill=g)) +
geom_bar(stat='identity', position = "identity")
这是一个错误吗?我该如何解决?
答案 0 :(得分:2)
这是一个众所周知的错误:http://community.plot.ly/t/inversion-negative-values-in-ggplotly/875。
即使是最新的开发版也没有解决这个问题,我只是尝试了这个。 因此,您可以在https://github.com/ropensci/plotly/issues/560
上关注此问题答案 1 :(得分:1)
但是如果您愿意使用原生plotly
,那么这将为您提供所需的结果:
library(dplyr)
dane_p <- dane %>% filter(g == "A")
dane_p2 <- dane %>% filter(g == "B")
p <- plot_ly(data=dane_p,
x = x,
y = y,
name = "A",
type = "bar")
p2 <- add_trace(p,
data=dane_p2,
x = x,
y = y,
name = "B",
type = "bar")
p2