@markschwab,
Local Data Filters, especially with Column transforms are quite useful for your task. Look at the screenshot below. You can do this by hand
- Create your GraphBuilder plot
- Add a Local Data Filter
- Select your category/Overlay/GroupBy column, in this example age. Right click and select Group By
- Right click again and select Aggregate > Count. If you have missing data, select your Y variable and select Aggregate>Count
- Hit the plus sign, to add this filter.
See the second screenshot picture. You can slide the bars for the relative size you want. Or even look at the low density data alone.
As @txnelson, Jim, mentioned this is fairly easy to script. See below. That said, "N", or count is not the best filter. Your data could have 200 values of weight vs. height for 12 year olds, and 180 value are all for 50< height < 53. In other words, no representation for tall kids.
This is not exactly what you want, but a data filter such as this can be quite useful when looking for nuggets of information on "messy" graphs. Note you can also make a context filter, where the filter applies to multiple graphs. Good luck with your search for something you can use now.
Graph Builder(
Size( 615, 481 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :age ) ),
Elements( Points( X, Y, Legend( 50 ) ), Smoother( X, Y, Legend( 51 ) ) ),
Local Data Filter(
Add Filter(
columns(
Transform Column(
"Count[weight][age]",
Formula( Col Number( :weight, :age ) )
)
),
)
)
);