3
我想製作兩個同步變量的情節條形圖。起源是個人訪問一個網站,其中有兩個屬性及時測量。在這個例子中,個人「a」兩次訪問該網站。顏色圖例在R劇情小圖中並非因此
酒吧應顯示測量值,按時間排序並根據標籤着色(不可變!)。
讓我們先創建一些數據。
# R version 3.4.0
set.seed(123)
df <- data.frame(id=factor(rep(c("a", "b", "c", "a"), each=10)),
time=as.POSIXct(1:40, origin="2017-01-01"),
var1=abs(rnorm(40)),
var2=abs(rnorm(40)))
# > head(df)
# id time var1 var2
# 1 a 2017-01-01 01:00:01 0.005764186 0.1176466
# 2 a 2017-01-01 01:00:02 0.385280401 0.9474746
# 3 a 2017-01-01 01:00:03 0.370660032 0.4905574
# 4 a 2017-01-01 01:00:04 0.644376549 0.2560922
# 5 a 2017-01-01 01:00:05 0.220486562 1.8438620
# 6 a 2017-01-01 01:00:06 0.331781964 0.6519499
現在製作每個單獨變量的兩個圖,分配到相同的圖例組並隱藏第二個圖的圖例。
library(plotly) # version 4.7.0
p1 <- plot_ly(df, x=~time, y=~var1, color=~id, type="bar",
legendgroup=~id)
p2 <- plot_ly(df, x=~time, y=~var2, color=~id, type="bar",
legendgroup=~id, showlegend=FALSE)
然後將這兩個圖添加到共享X軸的單個繪圖。
subplot(p1, p2, shareX=TRUE, nrows=2)
我不知道如何在一個SO問題添加一個HTML頁面,但上面的代碼應該提供一個可重複的例子。以下添加PNG作爲參考。
看起來不錯,對吧?但由於某些原因,圖例「選擇器」無法正常工作。取消選擇「a」只會影響圖1(意外行爲),而取消選擇「c」會影響兩個圖(預期)。
這是怎麼回事嗎?可能的錯誤,或者我錯過了什麼?
我知道ggplotly
並可能通過使用方面獲得類似的情節。問題在於我無法輸出一個ggplotly HTML,它可以與頁面寬度一起縮放(至少不是我所知)。我希望得到的圖像是一個可以隨瀏覽器窗口擴展的HTML,這是默認情況下的做法。
感謝您的提示。通過ID訂購的確可以解決問題。奇怪的! –