R'de Plotly ile bir çizgi grafikte yalnızca bazı hoverınfo noktaları nasıl gösterilir

0

Soru

Aşağıdaki gibi trafik ve makale dfs var:

library(plotly)
library(dplyr)

set.seed(101)
traffic <- data.frame(Date = seq(as.Date("2021-06-01"), as.Date("2021-07-10"), by="days"),
                      Views = round(rnorm(40, 5000, 200),0))

articleData <- data.frame(Date = as.Date(c("2021-06-01", "2021-07-04", "2021-07-10")),
                          article = c("Article 1", "Article 2", "Article 3"))

joinedData <- left_join(traffic, articleData)

Trafik için bir çizgi gösteren çizimli bir çizgi grafiği yapmak istiyorum, ancak makalelerin yayınlandığı 3 tarih için kişinin kapsayabileceği bir nokta eklemek istiyorum ve o gün hangi makalenin yayınlandığını gösterecek. Aşağıda bir araya getirebildiğim şey:

plot_ly(data = joinedData, x = ~Date, y = ~Views, type = "scatter", mode = "lines") %>%
  add_trace(hoverinfo = "text", text = ~article, mode = "markers")

Bu teknik olarak işe yarıyor, ancak makaleleri olan sadece 3 güne değil, her güne bir işaret koyuyor. Makalelerin olmadığı günleri işaretlemeyi görmezden gelmenin bir yolu var mı? Gerçekten sadece makalelerin yayınlandığı günlere dikkat çekmek ve bu makalenin trafikte bir artış gösterip göstermediğini göstermek istiyorum.

plotly r
2021-11-23 22:06:26
1

En iyi cevabı

1

Bence sorunuza çok yakındınız. Verilerinizi bu üç makale için filtrelemeniz ve yeni bir veri çerçevesi oluşturmanız gerektiğini düşünüyorum. Yeni veri kümesini add_trace içinde kullanabilirsiniz. Bu, yalnızca makalelerin yayınlandığı tarihlere puan koyacaktır.

library(dplyr)
library(plotly)
filteredJoinedData <- joinedData %>%
  filter(article != "NA")

plot_ly(data = joinedData, x = ~Date, y = ~Views, type = "scatter", mode = "lines") %>%
  add_trace(data = filteredJoinedData, hoverinfo = "text", text = ~article, mode = "markers")

Size bu grafiği veriyorum

example

2021-11-23 23:07:50

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................