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

Plotting with subsets (row-wise) of ColumnDataSources (like filtered data) #4070

clairetang6 opened this issue Mar 25, 2016 · 2 comments · Fixed by #5982

Plotting with subsets (row-wise) of ColumnDataSources (like filtered data) #4070

clairetang6 opened this issue Mar 25, 2016 · 2 comments · Fixed by #5982


Copy link

Currently, Bokeh only allows glyphs to take full columns of data from a ColumnDataSource. This means that you must have additional ColumnDataSources for any plots that only use a subset of the data. This causes data to be replicated and makes linked selection more complicated for users, who would have to keep track of indices themselves.

It would be nice if Bokeh allowed glyphs to take subsets of columns as data. An application using multiple plots, each showing some subset (e.g. filtered by the value of some column, like the example @dennisobrien showed at the SF meetup) of the data (or the full set), would then be able to completely share the data in the same way that Bokeh allows plots to share the full ColumnDataSource now. Linked selection would work intuitively with selected data points (rows) showing up in whichever plots contain that point. Holding shift before selecting on any plot would add to the selection.

One possibility for an API would be to include another parameter that picks the subset of data for a renderer to use by the indices (which could default to all).

data_source = ColumnDataSource(df)
fig = figure()
r = =x’, y =y’, source=data_source, indices=[0, 1, 2]) 
r = =x’, y =y’, source=data_source, indices=np.arange(n)[ ==sunny”])
r = =x’, y =y’, source=data_source, indices=[i for i, val in enumerate( if val ==sunny”])

Another possibility could be to make the data source “filterable” in a pandas-like way.

r = =x’, y =y’, source=data_source[ ==sunny” ]) 

I tried to look through the issues and google group to find some related posts.

Is this something that would be in Bokeh’s scope?

Copy link
Contributor Author

Hi all, @bokeh/dev, I added a proposal for a filterable data source on the wiki. I'm not exactly sure how working documents work, but please feel free to provide any feedback. Thanks!

Copy link

bryevdv commented Jun 4, 2017

This is going to be a tremendous feature, but let's plan to get it merged nearer to the beginning of a release cycle so that it can be available in dev builds, etc for more exposure and testing

@bryevdv bryevdv modified the milestones: 0.12.7, 0.12.6 Jun 4, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
3 participants