Gapminder / tools-page

Gapminder tools page vanilla
8 stars 5 forks source link

BC: Misrepresented missing data #233

Open angiehjort opened 3 years ago

angiehjort commented 3 years ago

image

jheeffer commented 3 years ago

Right, because y is required, y1 isn't, so markers/rows where y1 is null are included in result.

What is expected behavior?

  1. Different bubbles per chart : easiest is before drawing a bubble, check if x/y/size are valid values. Not sure yet how to do this in core: we have one row per marker, we'd have to split up the dataMap or smth. Two markers maybe with only y encoding different.

  2. Bubbles limited to intersection of available bubbles : add y1 to requiredEncodings

jheeffer commented 3 years ago

Btw, core now supports

requiredEncodings: [{ '$or': ['y','y1'] }, 'x', 'size']

So you can include a marker when either y encoding has data. Doesn't fix this, because the other y -encoding might still be null and end up with the above picture. You'll definitely have to check if x/y/size is null before drawing if you're going for case 1, regardless if you use the $or or not.

jheeffer commented 3 years ago

Right, because y is required, y1 isn't, so markers/rows where y1 is null are included in result.

What is expected behavior?

  1. Different bubbles per chart : easiest is before drawing a bubble, check if x/y/size are valid values. Not sure yet how to do this in core: we have one row per marker, we'd have to split up the dataMap or smth. Two markers maybe with only y encoding different.
  2. Bubbles limited to intersection of available bubbles : add y1 to requiredEncodings

I guess this was not the reason, it was because ammending encoding data fetching had some error which we already fixed. But what I'm pointing out here probably would still happen?