Plotly R - 显示没有数据的潜在Y轴Vaues

时间:2017-08-01 19:13:47

标签: r plotly

下午好,

我正在寻找一些关于如何在Y轴上显示数据中未实现的附加值的帮助。在下面的示例中,此图表在三个月内从A过渡到C.我认为在这个特定的数据子集中没有达到总共5个类别D和E.我仍然希望Y轴将D和E显示为可能的值,即使数据从未实现这些值。

提供了一个简短的工作示例:

library(plotly)

df <- data.frame(date = c("2015-01", "2015-02", "2015-03"), value = c("A","B","C"))

plot_ly(df) %>% add_trace(x = ~date, y= ~value, type = 'scatter', mode = 'markers+lines', color = 'orange')

感谢您的时间和帮助!

1 个答案:

答案 0 :(得分:1)

通常你可以通过布局手动设置轴范围,但由于你有分类值,我们需要一些黑客攻击。

  • 添加一个虚拟跟踪,其中包含您要查看的所有分类值
  • opacity设置为0以隐藏跟踪
  • showlegend设置为False,以便它不会出现在图例中并使用户感到困惑
  • 确保通过layoutshowlegend
  • 在图例中显示其他跟踪

enter image description here

library(plotly)

df <- data.frame(date = c("2015-01", "2015-02", "2015-03"), value = c("A","B","C"))

#this is the dataframe which contains all categorical data
df_all <- data.frame(date = c("2015-01", "2015-02", "2015-03"), value = c("A", "D", "E"))

#plot the real data
p <- plot_ly(data = df, 
             x = ~date, 
             y= ~value, 
             type = 'scatter', 
             mode = 'markers+lines', 
             showlegend=T)
#plot the dummy data
p <- add_trace(p, 
               data = df_all, 
               x = ~date, 
               y= ~value, 
               opacity=0, 
               showlegend=F) 
p <- layout(p, showlegend = T)
p