☰Read-only archive⌕
Looking for help with Bokeh?

This is a read-only archive. Ask questions and join the conversation on GitHub.

Visit Community Support on GitHub →
Archived discussions · Captured October 28, 2026

creating plots with different x,y - aka "manually setting the DataSource"

Community Support
Thomas_Lecocq
Thomas_Lecocq

Hi,

I’m trying to somehow plot “subplots”, having different x,y values. The grid example is great for the geometry of the output. But no example shows how to create the DataSource from scratch and to pass the column names as args to line() or scatter().

I’ve tried something like that to initialize my plots (which will then be updated/animated)

x = {}
y = {}

ds = DataSource()


for id in ids:
    ds["x_%s"%id] = [0,]
    ds["y_%s"%id] = [0,]

    line("x_%s"%id,"y_%s"%id, color="#0000FF", tools="pan,zoom,resize",
        width=1280,height=200,
        x_axis_type = "datetime",
        title=id
        )

Thanks for the help :slight_smile:

Thom

⌁   Link to post
Bryan
Bryan

Hi Thomas,

It *should* just work by adding a “source” keyword argument to the renderer call, like this:

flowers = ColumnDataSource(
    data=dict(
        petal_length=flowers['petal_length'],
        petal_width=flowers['petal_width'],
        sepal_length=flowers['sepal_length'],
        sepal_width=flowers['sepal_width'],
        iris_color=flowers['color'],
    )
)

scatter("petal_length", “petal_width”, color="iris_color", fill_alpha=0.2, radius=5, name="iris", source=flowers)

However, I just discovered a small bug in testing out this example for you. I have created a GH issue you can track this problem on:

  ColumnDataSource does not update column_names · Issue #155 · bokeh/bokeh · GitHub

I hope to have it fixed in GH this afternoon, and FYI we are planning a 0.3 follow on release next week, that is mostly a build system refactor and repository consolidation, but that will also contain several bug fixes as well.

Thanks!

Bryan

···

On Nov 7, 2013, at 8:43 AM, Thomas Lecocq <thlecocq@gmail.com> wrote:

Hi,

I'm trying to somehow plot "subplots", having different x,y values. The grid example is great for the geometry of the output. But no example shows how to create the DataSource from scratch and to pass the column names as args to line() or scatter().

I've tried something like that to initialize my plots (which will then be updated/animated)

    x = {}
    y = {}
    
    ds = DataSource()
    
    for id in ids:
        ds["x_%s"%id] = [0,]
        ds["y_%s"%id] = [0,]

        line("x_%s"%id,"y_%s"%id, color="#0000FF", tools="pan,zoom,resize",
            width=1280,height=200,
            x_axis_type = "datetime",
            title=id
            )

Thanks for the help :slight_smile:

Thom

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bokeh+unsubscribe@continuum.io.
To post to this group, send email to bokeh@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/94e29c5b-e1be-46d1-9c7a-80c96c952ba0%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/groups/opt_out\.

⌁   Link to post
Bryan
Bryan

Thomas, I have pushed a change to GH master that should fix this problem an allow the code below (and in the issue #155) to function properly. Please let me know if it works for you,

Thanks,

Bryan

···

On Nov 7, 2013, at 11:11 AM, Bryan Van de Ven <bryan@bokeh.org> wrote:

Hi Thomas,

It *should* just work by adding a “source” keyword argument to the renderer call, like this:

flowers = ColumnDataSource(
   data=dict(
       petal_length=flowers['petal_length'],
       petal_width=flowers['petal_width'],
       sepal_length=flowers['sepal_length'],
       sepal_width=flowers['sepal_width'],
       iris_color=flowers['color'],
   )
)

scatter("petal_length", “petal_width”, color="iris_color", fill_alpha=0.2, radius=5, name="iris", source=flowers)

However, I just discovered a small bug in testing out this example for you. I have created a GH issue you can track this problem on:

  ColumnDataSource does not update column_names · Issue #155 · bokeh/bokeh · GitHub

I hope to have it fixed in GH this afternoon, and FYI we are planning a 0.3 follow on release next week, that is mostly a build system refactor and repository consolidation, but that will also contain several bug fixes as well.

Thanks!

Bryan

On Nov 7, 2013, at 8:43 AM, Thomas Lecocq <thlecocq@gmail.com> wrote:

Hi,

I'm trying to somehow plot "subplots", having different x,y values. The grid example is great for the geometry of the output. But no example shows how to create the DataSource from scratch and to pass the column names as args to line() or scatter().

I've tried something like that to initialize my plots (which will then be updated/animated)

   x = {}
   y = {}

   ds = DataSource()

   for id in ids:
       ds["x_%s"%id] = [0,]
       ds["y_%s"%id] = [0,]

       line("x_%s"%id,"y_%s"%id, color="#0000FF", tools="pan,zoom,resize",
           width=1280,height=200,
           x_axis_type = "datetime",
           title=id
           )

Thanks for the help :slight_smile:

Thom

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bokeh+unsubscribe@continuum.io.
To post to this group, send email to bokeh@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/94e29c5b-e1be-46d1-9c7a-80c96c952ba0%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/groups/opt_out\.

⌁   Link to post

End of archived discussion · Replies are disabled