filter_breaks_to_range cannot filter temporal breaks, so out-of-domain ticks survive
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
- Ambito
- data-visualization
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
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di posit-dev/ggsql
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
writer
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
plot building
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Mention DuckDB extension Apertadocumentation integration
Difficoltà 1/5 1-3 ore Idoneità per principianti 76/100
-
Add output to `view` in cli Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
Tutte le issue di posit-dev/ggsql
Issue simili
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
yantrikos/yantrik-os#255 ·
-
Replayed reasoning items send "content": null, which the Responses API schema does not permit Apertabug CLI custom-model
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
raphamorim/rio#1956 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
rust-bitcoin/rust-bitcoin#6930 · 1 commento ·