lmcinnes / umap

Uniform Manifold Approximation and Projection
BSD 3-Clause "New" or "Revised" License
7.34k stars 798 forks source link

Why are the ticks of the plot disabled? #1141

Open Juphex opened 1 month ago

Juphex commented 1 month ago

Why do you disable the axis ticks of the plot ? See https://github.com/lmcinnes/umap/blob/126a31f31ff78c5542d479335a9f51cf38d68c6c/umap/plot.py#L700

Isn't it quite useful to have it to be able to compare between plots because the plot is not normed (e.g. between 0 and 1)? I think it would be nice to have it as a feature, right?

Best

lmcinnes commented 1 month ago

The tick plots tend to give people the sense that the axes and scales are quite meaningful, when in general they aren't -- it is relative positions that matter. For that reason I prefer to suppress them as it generally leads people to better interpretations.

On Tue, Jul 23, 2024 at 8:02 PM Christian Salamut @.***> wrote:

Why do you disable the axis ticks of the plot ? See https://github.com/lmcinnes/umap/blob/126a31f31ff78c5542d479335a9f51cf38d68c6c/umap/plot.py#L700

Isn't it quite useful to have it to be able to compare between plots because the plot is not normed (e.g. between 0 and 1)? I disabled it locally and I think it would be nice to have it as a feature, right?

Best

— Reply to this email directly, view it on GitHub https://github.com/lmcinnes/umap/issues/1141, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC3IUBITQCR33V5EH3R5RIDZNYSZ5AVCNFSM6AAAAABLKCPT6CVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQZDINZYGQ2DEMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

Juphex commented 1 month ago

Thank you!

When comparing similar neural network models with minor differences, given the same inputs and visualizing features at the same point in the network, should we enable the axis and use the same axis range for both plots to facilitate comparison?

lmcinnes commented 1 month ago

If you want to make direct comparisons then yes -- umap.plot.points does just output a matplotlib object so you can take the result and apply the usual matplotlib operations as you wish to re-add back in ticks etc. as desired.