Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

filter_breaks_to_range cannot filter temporal breaks, so out-of-domain ticks survive

Aperta Adatta ai principianti
#513 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
82/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
rust

Direzione di ricerca

Inizia in src/plot/scale/breaks.rs, in corrispondenza di filter_breaks_to_range intorno alla riga 292, quindi confronta la relativa gestione numerica con l’uso di ArrayElement::to_f64() nel percorso dei minor-breaks. Il lavoro è completato quando i break temporali al di fuori del dominio risolto vengono rimossi, mentre i valori senza una proiezione numerica mantengono l’attuale comportamento di pass-through; verifica il risultato con la riproduzione di Date scale nell’issue.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug plot building

This issue was surfaced during the Hephaestus writer work

Summary

filter_breaks_to_range (src/plot/scale/breaks.rs:292) returns the break list unchanged unless both range endpoints are ArrayElement::Number, and inside the predicate it explicitly keeps any break that is not a Number. A Date / DateTime / Time scale therefore never gets filtered: a calendar-aligned major computed outside the resolved domain survives, and both writers place a tick off-panel.

Reproduction
VISUALISE Date AS x, Temp AS y FROM ggsql:airquality
DRAW line
SCALE x SETTING breaks => '2 months'
domain: ['1973-04-23', '1973-10-07']
values: ['1973-04-01', '1973-06-01', '1973-08-01', '1973-10-01', '1973-12-01']

1973-04-01 and 1973-12-01 are both outside the resolved domain.

Suggested fix

Filter on ArrayElement::to_f64() for the range endpoints and the breaks alike — which is exactly what the minor breaks path already does — falling back to the current pass-through only when a value has no numeric projection.

Lingua principale
Rust
Stelle
554
Fork
30
Merge medio
2g 5h
PR unite (30g)
15

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di posit-dev/ggsql

Tutte le issue di posit-dev/ggsql

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.