我正在尝试使用对数轴构建条形图,但我希望条形图从1开始而不是零。到目前为止,我有一个基本的条形图,
df <- data.frame(Categ=c("a","b","a","a","b"),Num=c(1,2,3,4,5),Value=c(1.56,0.85,10.6,8.9,32.8))
plot_ly(data=df,x=~Num,y=~Value,type="bar",color=~Categ) %>%
layout(yaxis=list(exponentformat='power',type='log',title=ylab),legend=list(orientation='h'))
我可以添加白条,所以一切都从1开始:
plot_ly(data=df,x=~Num,y=~rep(1,5),type="bar",opacity=0.0,showlegend=FALSE) %>%
add_trace(y=~(Value-1),opacity=1.0,color=~Categ,showlegend=TRUE) %>%
layout(yaxis=list(exponentformat='power',type='log'),legend=list(orientation='h'),barmode='stack')
这里的问题是,如果双击图例,仅显示类别b,则白条也会消失,任何低于1的值都会消失。 我想知道是否有更好的解决方案来解决这个问题,或者是一种使白条成为永久性的方法,因此总会显示小于1的值。
答案 0 :(得分:1)
在扫描了一堆文档后,我找到了解决这个问题的方法...... https://plot.ly/r/reference/ 如果使用base命令,它会根据您的需要设置基础。
plot_ly(data=df,x=~Num,y=~(Value-1),base=1,type="bar",color=~Categ,showlegend=TRUE) %>%
layout(yaxis=list(exponentformat='power',type='log'),legend=list(orientation='h'))