posit-dev / posit-dev/ggsql

Aligning histograms and density plots

Open
#289 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

plot building
Dominant language
Rust
Stars
554
Forks
30
Avg merge
17h 27m
Merged PRs (30d)
8

Description

We currently have an example in the density documentation where this works out reasonably well by accident.
However if we pick flipper_len instead of bill_len we see misalignment happening.

VISUALISE flipper_len AS x FROM ggsql:penguins
DRAW histogram 
  REMAPPING density AS y
  SETTING opacity => 0.5
DRAW density
  SETTING opacity => 0.5

Currently the histogram density is computed as:

{count} * 1.0 / SUM({count})

To get good alignment with the density layer, we'd need to account for the binwidth as well.
I'm proposing the current histogram density variable becomes fraction or something, and have a new density computation that divides by the binwidth.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the histogram density computation and the density layer handling in the Rust implementation, then reproduce the documented example with flipper_len. Compare the histogram and density outputs across bin widths; done means the layers align while the existing fraction-like behavior remains clearly defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, sql
Domain
data-visualization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.