我希望能够最初只显示变量值的一组选定值。因此,在下面的示例中,只显示团队值'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")
此外,轴如何只显示整数 - 不确定如何修改范围以迎合这个
答案 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)) )
找到plotly API中所有选项的完整说明