VEuPathDB / web-eda

Web browser code for EDA-based applications
Apache License 2.0
0 stars 0 forks source link

Map viz: UI improvements for variable selector sections (& add in birds eye bar) #967

Closed bobular closed 2 years ago

bobular commented 2 years ago
  1. make "overlay variable" a requirement for data request + plotting (no more plain white circles, yay!)
  2. remove "plot counts of" input altogether (subsetting map will replace this one day)
  3. only show "Plot locations of" input when there is actually a choice to make (i.e. usually never for forseeable future)
  4. rename variable Main or similar to be more like bar chart
  5. look into reducing max zoom level (no map data for default layer in "SCORE seasonal transmission..." part of the world, at least)
  6. birds eye plot
  7. use birds eye plot (or some other means) to show how much of data is visible in viewport vs. in filtered subset
bobular commented 2 years ago

Could look at some behind-the-scenes data handling changes while we're at it. See https://github.com/VEuPathDB/EdaLoadingIssues/issues/22

danicahelb commented 2 years ago

detailed feedback from 3/14 EDA UX meeting:

1. Add in birds eye view bar plot Need to determine if the birds eye bar should be responsive to zooming (ie, should a 3rd line be included to indicate data actually being shown on the map?). To be discussed in an upcoming data viz meeting…

2. How to represent continuous variables in the map (colored circles, histograms, both, something else?). To be discussed in an upcoming data viz meeting…

3. Comment out code for pulldown selector for “Map the locations of (communities, households, participants, samples…)” Most of the time we will only have geolocation data for a single entity level. Keep the code for future use case where we have geolocation data at multiple entity levels; if this becomes a need, the pulldown for “Map the locations of…” will only appear in the map tool for studies that need it

4. Drop pulldown selector for “Show counts of (communities, households, participants, samples…)” Entity space for counts being mapped will automatically get set by the entity space of the main variable selected. We will lose the ability to directly show, for ex, the number of participants in each location as you would need to choose a variable to look at and participants missing data for this variable won’t appear on the map. Ultimately, we will provide this type of information on the browse & subset tab

5. Selection of an overlay variable should be required (NOT optional) We will call the overlay on the maps the “main variable” as the x and y axis variables cannot be changed from geo coordinates

6. Remove the “Stratification variables” selector section for overlay & facets We will NOT offer faceting for map visualizations. The overlay variable will be labeled “main variable” and should NOT appear under the Stratification section.

7. Mimic variable selector styling of histogram & bar plot viz tools. See mockups below. Differences:

image
bobular commented 2 years ago

Hi @chowington Update from the dataviz meeting.

The plan for now would be to show a regular BirdsEyePlot next to the map showing the un-zoomed number of entities, but this won't be possible right now because we don't have completeCasesAxesVars in the response of the map-markers request. We need that for the "Data for axes" bar thingy. The completeCasesAxesVars value doesn't change with viewport zooming (for histogram) and if we had it for map-markers, it wouldn't either. The unchanging number (upon zooming) would also be shown in the "XXXX Participants" heading above the map, and there are plans (but no ticket yet) to add a new yellow warning triangle when any plot (e.g. histogram or map) is zoomed and is hiding data.

(I had a look at the pieplot response too and that doesn't have what we want either.)

@d-callan do you think it's feasible to update the back end for b57? The "axes vars" in this case would be lat/long and the relevant geohash variable,

d-callan commented 2 years ago

I don't think the map marker endpoint accepts a viewport, so I assumed totalling counts across all markers w non empty key/ aggregate value would work. If that makes sense, then I dont much have a preference i think between doing that back vs front end.

danicahelb commented 2 years ago

Notes from 4/4/2022 EDA UX meeting:

We will offer users the option to choose between 3 map markers: (https://www.figma.com/file/GhufkPGsVPmhdb8terdaxk/Map-viz?node-id=0%3A1)

  1. Bar plots of counts
  2. Bar plots of proportions
  3. Pie plots

Categorical variables will use a discrete color map

Continuous variables will use a gradient color map

  • Default # of bins for continuous variables = 8. This matches the max number of bins allowed for categorical data
  • We will allow users to change the total number of bins

Implement special binning for dates (like how dates are handled in line plot x-axis)

The issues above have been moved into new tickets:

  1. VEuPathDB/web-eda#1041
  2. VEuPathDB/web-eda#1025
bobular commented 2 years ago

Hi @d-callan -

I don't think the map marker endpoint accepts a viewport

It doesn't. I've been adding the viewport as a regular filter. FYI

d-callan commented 2 years ago

aha! im finally getting it. that makes it quite hard doesnt it.. i suppose were talking then about adding a viewport prop to the map-markers endpoint. then i can total there the counts pre-viewport-adjustment.

UPDATE: made a related ticket for this at veupathdb/edadataservice#163

d-callan commented 2 years ago

also noticing @danicahelb comment above about special binning for dates, and not sure i understand. In the lineplot we use bin widths so it makes sense to ask the user to specify things like '1 week' but i thought in the map we were going to use number of bins... if someone could elaborate on what special binning we want for dates when number of bins is specified thatd help me.

bobular commented 2 years ago

Hi @d-callan - I saw the new ticket - thanks!

I think "special binning for dates" might mean making bin widths be whole months/years etc (maybe also 6months) and having their starts be on (for example) Jan 1st, not May 27th,

d-callan commented 2 years ago

So if a user asks for 5 bins and the data span 5.5 years, what do I do?

chowington commented 2 years ago

@danicahelb I don't plan on incorporating those changes decided in this week's UX meeting in this ticket---I think it's best to stick with the changes mentioned in the top comment as this ticket's scope. Maybe we can make another ticket for the subsequent changes?

danicahelb commented 2 years ago

@d-callan @bobular I'm moving the binning issue to VEuPathDB/web-monorepo#93

SheenaTomko commented 2 years ago

Everything looks good except the birds eye plot which has it's own separate ticket: https://github.com/VEuPathDB/web-eda/issues/1020