[Platform] Manhattan plot with Observable Plot #628
+540
−185
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Recreate the Manhattan plot on the study page using Observable Plot. The basic plot is straight forward, but the interaction is fiddlier since Plot has limited functionality for this. The solution implemented here adds an HTML overlay that includes a tooltip with no restrictions on its content.
This PR adds some reusable components for using Observable Plot on the platform. Using the top-level
ObsPlot
component avoids explicitly setting up the responsive container and overlay tooltip.Notes:
Possible improvements:
resetEelement
to undo fade/highlight of marks is ugly since repeating information passed to the mark.ObsPlot
props are mostly passed directly toObsChart
orObsTooltip
.ObsTooltipRow
? Wait until update Phewas plot since it has potentially long row values.width
andheight
to Plot in therenderPlot
function.Issue: #3662
Deploy preview:
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Checked on study page.
Checklist: