如何启动R图表只有一些值可见

时间:2016-07-08 17:47:26

标签: r plotly

我希望能够最初只显示变量值的一组选定值。因此,在下面的示例中,只显示团队值'a',最初使用传说中的'b'灰色但可切换

library(plotly)
library(dplyr)

df <- data.frame(year=(c(2000,2001,2001,2002)),team=c("a","b","a","b"),values=c(1,3,2,4),stringsAsFactors = FALSE)

plot_ly(data=df, x=year,y=values,color=team,mode="markers")

enter image description here

此外,轴如何只显示整数 - 不确定如何修改范围以迎合这个

1 个答案:

答案 0 :(得分:1)

最简单的方法是从默认情况下关闭的所有轨迹开始,并通过单击图例单独切换它们

plot_ly(data=df, x=year,y=values,color=team,mode="markers", visible="legendonly")

如果你想从一些已经可见的点和其他点开始,你需要使用两条跟踪,第二条跟踪visible="legendonly"。如果你这样做,你还需要手动选择颜色。

plot_ly(data=df[which(df$team=="a"),], x=year,y=values,
        color=team, colors = "blue", mode="markers") %>%
  add_trace(data=df[which(df$team=="b"),], x=year,y=values, color=team, 
        colors="green", mode="markers", visible="legendonly")

您可以使用layout功能控制轴和刻度线。要仅以单位间隔设置刻度,您可以使用此

plot_ly(data=df[df$team=="a",], x=year,y=values,color=team, colors = "blue", mode="markers") %>%
  add_trace(data=df[df$team=="b",], x=year,y=values, color=team, colors = "green", mode="markers", visible="legendonly") %>%
  layout(xaxis = list(autotick = FALSE, tickmode="linear", tick0 =2000, dtick=1, range=c(1999.5,2003.5)), 
         yaxis = list(autotick = FALSE, tickmode="linear", tick0 =0, dtick=1, range=c(0,5)) )

可以在https://plot.ly/r/reference/

找到plotly API中所有选项的完整说明