Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use dynspread=True by default for explorer if datashade/rasterize #1155

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

ahuang11
Copy link
Collaborator

I think it's more user friendly if dynspread is True, or else can barely see anything:
image

With dynspread=True:
image

@maximlt
Copy link
Member

maximlt commented Sep 27, 2023

Pinging @jbednar for feedback!

Seems sensible in the shared example, except that this example has very little data so rasterizing it isn't very relevant.

@ahuang11
Copy link
Collaborator Author

"Seems sensible in the shared example, except that this example has very little data so rasterizing it isn't very relevant."

Right. I was imagining a scenario where a user, who doesn't have much experience in the HoloViz ecosystem, randomly clicking things and seeing what it does. If they see a blank plot, they might be turned away from using datashader, but if they at least see something, that might pique their curiosity.

I suppose something else that can remedy this is having doc specified for each param and so it shows up as a tooltip.

@maximlt
Copy link
Member

maximlt commented Sep 27, 2023

I think dynspread has docs, except that Bokeh doesn't support tooltips for all the widgets?

@maximlt
Copy link
Member

maximlt commented Sep 27, 2023

Alternatively, the explorer could warn the user when they set rasterize/datashader on a dataset that has too little data.

@ahuang11
Copy link
Collaborator Author

Is there a downside to setting dynspread=True in any case though?

@maximlt
Copy link
Member

maximlt commented Sep 27, 2023

Maybe, if so that would be the default in hvPlot?

@ianthomas23
Copy link
Member

You wouldn't want to use any form of spreading if you are rendering antialiased lines in datashader. But I don't know if antialiased lines have reached hvplot yet.

@jbednar
Copy link
Member

jbednar commented Sep 27, 2023

I think dynspread should default to True in hvPlot in general, not just for Explorer, when doing rasterize on a Points or Scatter plot, unless people have passed in an explicit point size. It's not appropriate for a line plot, where instead we should be respecting the line_width option already.

@jbednar
Copy link
Member

jbednar commented Sep 27, 2023

BTW, I think Explorer should also be enabling either LTTB or rasterize automatically when the data size is too large. Maybe LTTB by default for line data >100000 points, and rasterize by default for point data > 100000 points?

@ahuang11
Copy link
Collaborator Author

ahuang11 commented Sep 27, 2023

What's LTTB?

Oh Largest-Triangle Three-Buckets algorithm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants