Free facet dimensions get the globally resolved breaks, so most panels show one tick
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- rust
- Domaine
- data-visualization
Piste de recherche
Commencez par la reproduction des facettes et examinez comment ggsql résout les échelles et les breaks pour les dimensions libres. Lisez la gestion de resolve.scale et axis.values dans le writer Vega-Lite, puis comparez-la avec scales::free_position_scale, free_binned_scale et Scale::expand_range de hephaestus. Le travail est terminé lorsque core fournit des domaines et des breaks par panneau, afin que les writers n’appliquent plus de breaks globaux et ne calculent plus eux-mêmes les étendues libres.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
ggsql resolves exactly one scale — and one break set — per aesthetic, including for a facet dimension declared free. The Vega-Lite writer therefore pins the global break set as axis.values even where it has delegated the domain to Vega, so each free panel shows only whichever global breaks happen to fall inside it — frequently one, or none.
While this issue is about the breaks specifically, it also points to a deficiency in our ggsql <-> writer contract. Specifically for faceted plots with free scales we are currently letting the writer calculate range, breaks etc for the free scales. This really belongs in ggsql which should resolve the scale to an array somehow (VegaLite might not be able to consume that but Hephaestus can)
Reproduction
VISUALISE Date AS x, Temp AS y FROM ggsql:airquality
DRAW line
FACET Month SETTING free => 'x'
resolve: {'scale': {'x': 'independent'}} # domain correctly delegated to Vega
scale: {'zero': False} # no domain, as intended
values: ['1973-04-23', '1973-05-21', '1973-06-18', '1973-07-16', '1973-08-13', '1973-09-10']
Those six breaks span the whole year, but each panel covers one month — so a panel gets at most one of them.
Why it belongs in core
Both writers currently work around the missing per-panel resolution, in different places and with different results:
- Vega-Lite delegates the domain to Vega (
resolve.scale: independent) but still pins global break values on top of it. - hephaestus computes the per-panel extent itself in
scales::free_position_scale/free_binned_scale, applying ggsql's ownScale::expand_rangefactors — this is the one remaining piece of writer-side domain computation, and it exists solely because core resolves nothing per panel.
Resolving per-panel domains and breaks for a free facet dimension in core fixes the Vega-Lite tick problem and removes the hephaestus writer's architectural exception in one go.
- Langage dominant
- Rust
- Étoiles
- 570
- Forks
- 31
- Merge moyen
- 1 j 21 h
- PR mergées (30 j)
- 9
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
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 posit-dev/ggsql
-
Missing `linewidth` and `linetype` aesthetics on histogram and bar layersPeut-être pris @teunbrand l’a pris il y a 3 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 61/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Rename CLAUDE.md to AGENTS.mdPeut-être pris @teunbrand l’a pris il y a 7 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
posit-dev/ggsql#565 · 2 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
Update the positron dep for the extension to 0.2.9Peut-être pris @thomasp85 l’a pris il y a 32 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
writer
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de posit-dev/ggsql
Issues similaires
-
spurctld: a user with no usage gets a lower fair-share factor than a user with a little usageOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
area:ci kind:bug priority:p3 ready
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
tech-debt
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
srikanth235/centraid#1155 ·
Les mainteneurs répondent en général sous 1 jour
-
dotfiles: failed batch untrack removes earlier tracking declarationsPeut-être pris @jdx l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 2 jours