apple / apple/embedding-atlas

Add labels for higher zoom levels

Open
#14 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
TypeScript
Stars
4.9k
Forks
325
Avg merge
14h 48m
Merged PRs (30d)
7

Description

I recently created a large visualization with 3M points. You probably invested a lot of work in the defaults for all viz parameters as generally they produce great results.

The only thing I'd like to suggest is to add even more labels to clusters at higher zoom levels. At the moment from what I can tell you have two "levels" (5 and 10) for which you calculate labels depending on the zoom level. [Here is an example](https://do-me.github.io/apple-embedding-atlas-foursquare-italy/#?H4sIAAAAAAAAE12RW4vbMBBG/0r5nhWj+C697oXSG2VTupQlD4o1zYpakivJm6TB/7047mahTwOH0cx3Rme8UIjGO0jwrM04GJKxFJOyA+S6qcpCVFw0WVM3DC+GDpBnxGd/uLM70tq4PWQKI7EL/KZ2PUH+VH38RzZG006FK0t0TA/kNAUKEfI8MUTqqUukb1SivQ+nG9+P1kG6se8Z6HXPd0OHz14TJDS5aNIJDNY4Y0d7u4C743CvuuQDJGcYI4VbFX4tj+ZpE8PQ+xQhn84wGhKrj39+//AfHsROxMf3F/s0G+CLsqTfbS7RjHcRDHGgbrbvvB28I5cgcW34ZGICwxD8cNGapu2ybJNUohm9maxe7zjXwYelZwZHyNU6y0VR8roReds0ZVlUDCfIPBOlEEXR1C1vc17nFUPs1ByWZxUv6jwv1i0XZVOJiSEot6druqv+f77yDJPIzgfZvn3E10DadEvsp+00TX8BFCDOMScCAAA=) where I have some very dense areas/clusters I'd like to label too.

Image

These labels could maybe also be generated on the fly when a user zooms there.

I discovered a few hard-coded values in a svelte component, e.g. this filter:

https://github.com/apple/embedding-atlas/blob/0630e2fcf8f50984647c4c52a15b4e4fd2f532a3/packages/component/src/lib/embedding_view/EmbeddingViewImpl.svelte#L575

Would setting this value lower to like 0.001 potentially fix my issue or should I look at other parameters?

Also, could you add Dev instructions, how to compile all the code and run it with the modifications for testing?

P.S. Could you open GitHub discussions for this repo?

Contributor guide

Open the contributing guide

Research direction

Start with packages/component/src/lib/embedding_view/EmbeddingViewImpl.svelte around the filter at line 575 and trace how labels are calculated for zoom levels 5 and 10. Compare the requested dense-cluster behavior with the current hard-coded parameters and decide how higher-zoom labels should be generated. Done should include the requested labeling behavior and development instructions for compiling and testing the modified code.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
data-visualization, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.