Issue with NA handling in scatter plots: Two NAs per category cause incorrect line connection
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- r
- Domaine
- data-visualization
Piste de recherche
Commencez par exécuter l’exemple reproductible de plot_ly() dans l’issue et comparez la sortie avec et sans hovertemplate et split = ~Category. Suivez la manière dont l’appel R à plotly représente les valeurs NA et les traces de catégories, puis vérifiez que exactement deux NA par catégorie produisent un espace visible sans nécessiter split ni supprimer hovertemplate.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Issue Summary
When using plot_ly() in R with a scatter plot (mode = "lines+markers"), missing (NA) values are expected to create gaps in the line plot. However, if exactly two NA values exist per category, the missing values are incorrectly connected by a line instead of creating a gap.
Interestingly, when the hovertemplate is removed, the line plot behaves as expected (i.e., creating a gap for NA values). This issue only occurs when there are exactly two NA values per category; the code works with any other number of NA values.
Additional Discovery:
The issue is resolved if I include the argument split = ~Category, but I cannot find documentation for split in Plotly, which makes me think it may be deprecated. Moreover, when the hovertemplate is removed, the inclusion of split does not work as expected and does not resolve the issue.
Reproducible Example
The following R code demonstrates the issue:
library(plotly)
df <- data.frame(
Category = rep(c("A", "B"), each = 6),
Date = c(2020, 2021, 2022, 2023, 2024, 2025, 2020, 2021, 2022, 2023, 2024, 2025),
Value = c(10, 15, NA, NA, 20, 25, 12, 14, NA, 22, NA, 27)
)
df$Date <- factor(df$Date, levels = unique(df$Date), ordered = TRUE)
plot_ly(
df,
x = ~Date,
y = ~Value,
color = ~Category,
type = 'scatter',
mode = 'lines+markers',
text = ~Category,
hovertemplate = paste0("Date: %{x}<br>Category: %{text}")
)
Expected Behaviour
- NA values should create a gap in the line plot, i.e., they should not be connected.
- This works correctly when there is any number of NA values other than exactly two in any category.
Actual Behavior
- When there are exactly two NA values per category, the missing values are incorrectly connected by a line instead of creating a gap.
- When the hovertemplate is removed, the lines create a gap as expected.
- The issue only arises when there are exactly two NA values per category; any other instance of NA works fine.
- Including split = ~Category resolves the issue, but:
- I cannot find any Plotly documentation on split, leading me to believe it may be deprecated.
- Interestingly, when the hovertemplate is removed, including split does not resolve the issue.
Additional Notes
This seems to be an issue specifically triggered by the combination of NA handling and the hovertemplate. I would appreciate further insight on why this happens or suggestions for a workaround to preserve the gap in the case of two NA values.
System Info
R version 4.4.2 (2024-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows Server 2019 x64 (build 19045)
Matrix products: default
- Langage dominant
- R
- Étoiles
- 2.7k
- Forks
- 640
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de plotly/plotly.R
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
-
Data gets dropped in add_trace and consequently points have the wrong color if NA is presentOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
-
save_image ErrorOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 52/100
Toutes les issues de plotly/plotly.R
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
weecology/forecasting-course#119 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
OHDSI/CohortSymmetry#369 ·
Les mainteneurs répondent en général sous 1 jour
-
change error to messageOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100