Set default button in rangeselector
Personne n'a encore pris cette issue.
- Langage dominant
- R
- Étoiles
- 2.7k
- Forks
- 641
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Stumbled across this topic on SO and wasn't entirely satisfied with the suggested workaround. Is this something that you might want to have a look at?
Here's a minimum reprex: say I wanted to plot daily ozone readings from the airquality dataset against time and add range selectors,
library(plotly)
dat = airquality
dat$Date = as.Date(paste(1973, dat$Month, dat$Day, sep = "-"))
p0 = plot_ly(dat, x = ~ Date, y = ~ Ozone, type = "bar")
p1 = p0 %>% layout(
xaxis = list(
rangeselector = list(
buttons = list(
list(
count = 1
, label = "1 mo"
, step = "month"
, stepmode = "backward"
)
, list(step = "all")
)
)
)
)
p1

, then the default zoom level would always be set to full range. If I wanted the default range to cover the last month only, I could certainly circumvent that through specifying a custom range as suggested in the linked answer,
p1 %>% layout(
xaxis = list(
range = c(
{
dt = max(dat$Date)
lubridate::month(dt) = lubridate::month(dt) - 1
dt
}
, max(dat$Date)
)
)
)

, which works nicely for point, line, etc. charts. Bar charts (not sure about other types), on the other hand, are being cut off at the first and last position. Now, I could also circumvent that by adding something like paste(dt, "10:00:00") and paste(max(dat$Date), "10:00:00") to my custom range, but I wonder whether this could be made a lot more user-friendly through enabling something like active = TRUE directly in the buttons definition?
Guide de contribution
Ouvrir 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.
Piste de recherche
Reproduisez le reprex airquality à l’aide de plot_ly(), layout(), xaxis et des boutons de rangeselector, puis comparez le contournement pour la plage personnalisée avec le comportement demandé du bouton par défaut. Suivez la manière dont les boutons de rangeselector et la plage de xaxis sont gérés. C’est terminé lorsqu’un bouton peut définir la plage initiale sans que les graphiques à barres soient tronqués, tout en laissant l’exemple existant fonctionner.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- r
- Domaine
- data-visualization
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100