簡體   English   中英

如何在只有一些值可見的情況下啟動 R 繪圖圖表

[英]How to initiate R plotly chart with only some values visible

我希望能夠最初只顯示一組選定的變量值中的點。 因此,在下面的示例中,最初只顯示團隊值“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")

在此處輸入圖片說明

此外,軸如何僅顯示整數 - 不確定如何修改范圍以滿足此需求

最簡單的方法是在默認情況下關閉所有跟蹤,然后通過單擊圖例單獨切換它們

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 中所有選項的完整描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM