Example request: multi-line time series with statistical plots of selection below it

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.

  2. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.

  3. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

···

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

···

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

···

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

···

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1

  2. From another multi-tiered drop down menu: User Precipitation from Station 3

  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:

  4. The statistical plots will be all about precipitation in this case

  5. Each stats subplot, located under main timeseries plot

  6. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

···

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

So lets say:

Time series 1 - Precipitation § from Station 1 - p1

Time series 2 - Preciptation § from Station 3 - p3

I’m assuming that:

  1. if Precipiation is p and, say, Wind speed is w, then sometimes you may want to plot p1 and w3 (that is, it’s not always “the precipitation view” or “the windspeed view”)

  2. In the near-term you only want to source from two data streams (e.g. p1 & w3) and not n-data streams

···

On Thu, Jun 11, 2015 at 12:59 AM, Andrew Joros [email protected] wrote:

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1
  2. From another multi-tiered drop down menu: User Precipitation from Station 3
  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:
  1. The statistical plots will be all about precipitation in this case
  2. Each stats subplot, located under main timeseries plot
  3. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8f5e1d9f-548d-4589-aa5b-d22bcceee928%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

(it’s 1am for me now, i’ll see what thoughts i can assemble tomorrow).

···

On Thu, Jun 11, 2015 at 1:20 AM, Sarah Bird [email protected] wrote:

So lets say:

Time series 1 - Precipitation § from Station 1 - p1

Time series 2 - Preciptation § from Station 3 - p3

I’m assuming that:

  1. if Precipiation is p and, say, Wind speed is w, then sometimes you may want to plot p1 and w3 (that is, it’s not always “the precipitation view” or “the windspeed view”)
  1. In the near-term you only want to source from two data streams (e.g. p1 & w3) and not n-data streams

On Thu, Jun 11, 2015 at 12:59 AM, Andrew Joros [email protected] wrote:

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1
  2. From another multi-tiered drop down menu: User Precipitation from Station 3
  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:
  1. The statistical plots will be all about precipitation in this case
  2. Each stats subplot, located under main timeseries plot
  3. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8f5e1d9f-548d-4589-aa5b-d22bcceee928%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Correct,

Regarding #1:

  1. Yes, Sometimes we want plots showing p1 vs. p2 … or p1 vs. w3 … or p2 vs. w5 etc. etc.
  2. For now, and to keep it simple, we can just play with the same variable types (e.g. p1 vs. p2, p1 vs. p3, etc.)
  3. And yes sometimes the “views” wont be the same in the future. We may be comparing say temperature to precipitation. Maybe a dual y-axis here would be useful?
    Regarding #2: Yes, to keep it simple, for now I only want to source two variables at once ( e.g. p1 vs. p3 ) … In the future we can worry about n-data streams.

Looking forward to hearing you input. I am reading up on Continuum’s Blaze package as it may be useful for what I have in mind.

Sleep well Sarah, and thanks again!

···

On Wednesday, June 10, 2015 at 5:21:15 PM UTC-7, Sarah Bird wrote:

So lets say:

Time series 1 - Precipitation § from Station 1 - p1

Time series 2 - Preciptation § from Station 3 - p3

I’m assuming that:

  1. if Precipiation is p and, say, Wind speed is w, then sometimes you may want to plot p1 and w3 (that is, it’s not always “the precipitation view” or “the windspeed view”)
  1. In the near-term you only want to source from two data streams (e.g. p1 & w3) and not n-data streams

On Thu, Jun 11, 2015 at 12:59 AM, Andrew Joros [email protected] wrote:

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1
  2. From another multi-tiered drop down menu: User Precipitation from Station 3
  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:
  1. The statistical plots will be all about precipitation in this case
  2. Each stats subplot, located under main timeseries plot
  3. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8f5e1d9f-548d-4589-aa5b-d22bcceee928%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

blaze - yes - it’s not something I’ve used and feel well equipped to comment on, but does seem relevant.

will ping back in the morning.

···

On Thu, Jun 11, 2015 at 1:30 AM, Andrew Joros [email protected] wrote:

Correct,

Regarding #1:

  1. Yes, Sometimes we want plots showing p1 vs. p2 … or p1 vs. w3 … or p2 vs. w5 etc. etc.
  2. For now, and to keep it simple, we can just play with the same variable types (e.g. p1 vs. p2, p1 vs. p3, etc.)
  3. And yes sometimes the “views” wont be the same in the future. We may be comparing say temperature to precipitation. Maybe a dual y-axis here would be useful?
    Regarding #2: Yes, to keep it simple, for now I only want to source two variables at once ( e.g. p1 vs. p3 ) … In the future we can worry about n-data streams.

Looking forward to hearing you input. I am reading up on Continuum’s Blaze package as it may be useful for what I have in mind.

Sleep well Sarah, and thanks again!

On Wednesday, June 10, 2015 at 5:21:15 PM UTC-7, Sarah Bird wrote:

So lets say:

Time series 1 - Precipitation § from Station 1 - p1

Time series 2 - Preciptation § from Station 3 - p3

I’m assuming that:

  1. if Precipiation is p and, say, Wind speed is w, then sometimes you may want to plot p1 and w3 (that is, it’s not always “the precipitation view” or “the windspeed view”)
  1. In the near-term you only want to source from two data streams (e.g. p1 & w3) and not n-data streams

On Thu, Jun 11, 2015 at 12:59 AM, Andrew Joros [email protected] wrote:

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1
  2. From another multi-tiered drop down menu: User Precipitation from Station 3
  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:
  1. The statistical plots will be all about precipitation in this case
  2. Each stats subplot, located under main timeseries plot
  3. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8f5e1d9f-548d-4589-aa5b-d22bcceee928%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/99e42076-80b5-4bb2-a01b-3557e80ca3dd%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Sounds good, looking forward to it. I’ll continue reading/trying/breaking … :wink:

···

On Wednesday, June 10, 2015 at 5:37:11 PM UTC-7, Sarah Bird wrote:

blaze - yes - it’s not something I’ve used and feel well equipped to comment on, but does seem relevant.

will ping back in the morning.

On Thu, Jun 11, 2015 at 1:30 AM, Andrew Joros [email protected] wrote:

Correct,

Regarding #1:

  1. Yes, Sometimes we want plots showing p1 vs. p2 … or p1 vs. w3 … or p2 vs. w5 etc. etc.
  2. For now, and to keep it simple, we can just play with the same variable types (e.g. p1 vs. p2, p1 vs. p3, etc.)
  3. And yes sometimes the “views” wont be the same in the future. We may be comparing say temperature to precipitation. Maybe a dual y-axis here would be useful?
    Regarding #2: Yes, to keep it simple, for now I only want to source two variables at once ( e.g. p1 vs. p3 ) … In the future we can worry about n-data streams.

Looking forward to hearing you input. I am reading up on Continuum’s Blaze package as it may be useful for what I have in mind.

Sleep well Sarah, and thanks again!

On Wednesday, June 10, 2015 at 5:21:15 PM UTC-7, Sarah Bird wrote:

So lets say:

Time series 1 - Precipitation § from Station 1 - p1

Time series 2 - Preciptation § from Station 3 - p3

I’m assuming that:

  1. if Precipiation is p and, say, Wind speed is w, then sometimes you may want to plot p1 and w3 (that is, it’s not always “the precipitation view” or “the windspeed view”)
  1. In the near-term you only want to source from two data streams (e.g. p1 & w3) and not n-data streams

On Thu, Jun 11, 2015 at 12:59 AM, Andrew Joros [email protected] wrote:

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1
  2. From another multi-tiered drop down menu: User Precipitation from Station 3
  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:
  1. The statistical plots will be all about precipitation in this case
  2. Each stats subplot, located under main timeseries plot
  3. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8f5e1d9f-548d-4589-aa5b-d22bcceee928%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/99e42076-80b5-4bb2-a01b-3557e80ca3dd%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi Andrew.

OK, so in your early post you said “… without ,hopefully, having to use any POST/GET requests.”

This is possible. Whether it will take down your browser will depend on how big all your data is.

If we do it like this, then you won’t need blaze server. So it’s probably worth trying to do it like this as it’ll get the foundations of all the plots in place and then you can work out a more dynamic data source if it’s needed for performance.

Toggle plots on and off:

  • To my mind this is just eye candy

  • I would skip doing this is in Bokeh and just use normal html & js to do this.

Displaying plots:

  • Bokeh has gridplit, vplot, hplot. They’re great, but tweaking the layout can be a bit fiddly.

  • Happily, https://github.com/bokeh/bokeh/issues/2348 which I believe is actively being worked on may provide a really nice way to get out all your plots but be able to lay them out however you like

Updating the source data:

  • To do this all client side, I suggest you use a technique similar to what I have done here which also documents what I’ve done.

  • You will be using 4 Select widgets instead of a Slider, but it’s exactly the same principle.

  • The heart of this is building a series of ColumnDataSources python side ahead of time. In your case I imagine it would be one per station. You pass all these into your plot via a callback so that they’re available client side.

  • Then you have a separate ColumnDataSource that is driving your plot(s). When the select box updates, you switch the ‘data’ property for the ColumnDataSource that’s driving your plot to the correct one from your bank that’s all ready to go.

  • In your case I imagine that you will have one or more data sources for your plots. If you use one source for all your plots then you will be able to use shared selection features, (but it may be that the data needs to be differently shaped for different plots and trying to share a source will cause you problems). I suggest you start with a series of plots that can share a data source e.g. histogram may be a problem.

With all that, you should be good to go!

How big is all that data btw?

Best,

Bird

···

On Thu, Jun 11, 2015 at 1:41 AM, Andrew Joros [email protected] wrote:

Sounds good, looking forward to it. I’ll continue reading/trying/breaking … :wink:

On Wednesday, June 10, 2015 at 5:37:11 PM UTC-7, Sarah Bird wrote:

blaze - yes - it’s not something I’ve used and feel well equipped to comment on, but does seem relevant.

will ping back in the morning.

On Thu, Jun 11, 2015 at 1:30 AM, Andrew Joros [email protected] wrote:

Correct,

Regarding #1:

  1. Yes, Sometimes we want plots showing p1 vs. p2 … or p1 vs. w3 … or p2 vs. w5 etc. etc.
  2. For now, and to keep it simple, we can just play with the same variable types (e.g. p1 vs. p2, p1 vs. p3, etc.)
  3. And yes sometimes the “views” wont be the same in the future. We may be comparing say temperature to precipitation. Maybe a dual y-axis here would be useful?
    Regarding #2: Yes, to keep it simple, for now I only want to source two variables at once ( e.g. p1 vs. p3 ) … In the future we can worry about n-data streams.

Looking forward to hearing you input. I am reading up on Continuum’s Blaze package as it may be useful for what I have in mind.

Sleep well Sarah, and thanks again!

On Wednesday, June 10, 2015 at 5:21:15 PM UTC-7, Sarah Bird wrote:

So lets say:

Time series 1 - Precipitation § from Station 1 - p1

Time series 2 - Preciptation § from Station 3 - p3

I’m assuming that:

  1. if Precipiation is p and, say, Wind speed is w, then sometimes you may want to plot p1 and w3 (that is, it’s not always “the precipitation view” or “the windspeed view”)
  1. In the near-term you only want to source from two data streams (e.g. p1 & w3) and not n-data streams

On Thu, Jun 11, 2015 at 12:59 AM, Andrew Joros [email protected] wrote:

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1
  2. From another multi-tiered drop down menu: User Precipitation from Station 3
  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:
  1. The statistical plots will be all about precipitation in this case
  2. Each stats subplot, located under main timeseries plot
  3. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8f5e1d9f-548d-4589-aa5b-d22bcceee928%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/99e42076-80b5-4bb2-a01b-3557e80ca3dd%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/71e8797e-8b7c-4b0c-920e-807850efe46e%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi Sarah,

Sorry I didnt respond to this for a while. Been slammed with other projects.

So I have been working on this and have a prototype coded up but I took one of your comments and have been thinking of implementing it:

When you said “Then you have a separate ColumnDataSource that is driving your plot(s). When the select box updates, you switch the ‘data’ property for the ColumnDataSource that’s driving your plot to the correct one from your bank that’s all ready to go.”

Are you saying preload all the data and then just call which variables need to be displayed?

In my case I have 13 seperate dataframes that I want to “preload” in this “Bank”. Each is approx 200MB. Is this too large from your experience?

By the way your link HERE, doesn’t work anymore, any alternative?

Thanks, and sorry for the delayed response again.

···

On Friday, June 12, 2015 at 7:53:58 AM UTC-7, Sarah Bird wrote:

Hi Andrew.

OK, so in your early post you said “… without ,hopefully, having to use any POST/GET requests.”

This is possible. Whether it will take down your browser will depend on how big all your data is.

If we do it like this, then you won’t need blaze server. So it’s probably worth trying to do it like this as it’ll get the foundations of all the plots in place and then you can work out a more dynamic data source if it’s needed for performance.

Toggle plots on and off:

  • To my mind this is just eye candy
  • I would skip doing this is in Bokeh and just use normal html & js to do this.

Displaying plots:

  • Bokeh has gridplit, vplot, hplot. They’re great, but tweaking the layout can be a bit fiddly.

Updating the source data:

  • To do this all client side, I suggest you use a technique similar to what I have done here which also documents what I’ve done.
  • You will be using 4 Select widgets instead of a Slider, but it’s exactly the same principle.
  • The heart of this is building a series of ColumnDataSources python side ahead of time. In your case I imagine it would be one per station. You pass all these into your plot via a callback so that they’re available client side.
  • Then you have a separate ColumnDataSource that is driving your plot(s). When the select box updates, you switch the ‘data’ property for the ColumnDataSource that’s driving your plot to the correct one from your bank that’s all ready to go.
  • In your case I imagine that you will have one or more data sources for your plots. If you use one source for all your plots then you will be able to use shared selection features, (but it may be that the data needs to be differently shaped for different plots and trying to share a source will cause you problems). I suggest you start with a series of plots that can share a data source e.g. histogram may be a problem.

With all that, you should be good to go!

How big is all that data btw?

Best,

Bird

On Thu, Jun 11, 2015 at 1:41 AM, Andrew Joros [email protected] wrote:

Sounds good, looking forward to it. I’ll continue reading/trying/breaking … :wink:

On Wednesday, June 10, 2015 at 5:37:11 PM UTC-7, Sarah Bird wrote:

blaze - yes - it’s not something I’ve used and feel well equipped to comment on, but does seem relevant.

will ping back in the morning.

On Thu, Jun 11, 2015 at 1:30 AM, Andrew Joros [email protected] wrote:

Correct,

Regarding #1:

  1. Yes, Sometimes we want plots showing p1 vs. p2 … or p1 vs. w3 … or p2 vs. w5 etc. etc.
  2. For now, and to keep it simple, we can just play with the same variable types (e.g. p1 vs. p2, p1 vs. p3, etc.)
  3. And yes sometimes the “views” wont be the same in the future. We may be comparing say temperature to precipitation. Maybe a dual y-axis here would be useful?
    Regarding #2: Yes, to keep it simple, for now I only want to source two variables at once ( e.g. p1 vs. p3 ) … In the future we can worry about n-data streams.

Looking forward to hearing you input. I am reading up on Continuum’s Blaze package as it may be useful for what I have in mind.

Sleep well Sarah, and thanks again!

On Wednesday, June 10, 2015 at 5:21:15 PM UTC-7, Sarah Bird wrote:

So lets say:

Time series 1 - Precipitation § from Station 1 - p1

Time series 2 - Preciptation § from Station 3 - p3

I’m assuming that:

  1. if Precipiation is p and, say, Wind speed is w, then sometimes you may want to plot p1 and w3 (that is, it’s not always “the precipitation view” or “the windspeed view”)
  1. In the near-term you only want to source from two data streams (e.g. p1 & w3) and not n-data streams

On Thu, Jun 11, 2015 at 12:59 AM, Andrew Joros [email protected] wrote:

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1
  2. From another multi-tiered drop down menu: User Precipitation from Station 3
  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:
  1. The statistical plots will be all about precipitation in this case
  2. Each stats subplot, located under main timeseries plot
  3. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8f5e1d9f-548d-4589-aa5b-d22bcceee928%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/99e42076-80b5-4bb2-a01b-3557e80ca3dd%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/71e8797e-8b7c-4b0c-920e-807850efe46e%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi Andrew,

The gapminder example is now in bokeh examples: https://github.com/bokeh/bokeh/tree/master/examples/interactions/interactive_bubble - rendered example: https://birdsarah.github.io/europython-2015-bokeh/static/slides.html#/32

“In my case I have 13 seperate dataframes that I want to “preload” in this “Bank”. Each is approx 200MB. Is this too large from your experience?” I would say that even one of those is going to be too large! A 200MB web page will not make your browser happy let alone your users. For comparison, my gapminder example, which has ~60 column data sources that I switch between (one for each year) is a total of 200kb!!! I’m not sure at what point it would start to get sluggish and it would certainly depend on browsers and machine.

Looks like you’re going to need a solution with POSTs & GETs or you’re going to have to pre-down-sample / filter your data.

Best,

Bird

···

On Mon, Aug 17, 2015 at 9:15 PM, Andrew Joros [email protected] wrote:

Hi Sarah,

Sorry I didnt respond to this for a while. Been slammed with other projects.

So I have been working on this and have a prototype coded up but I took one of your comments and have been thinking of implementing it:

When you said “Then you have a separate ColumnDataSource that is driving your plot(s). When the select box updates, you switch the ‘data’ property for the ColumnDataSource that’s driving your plot to the correct one from your bank that’s all ready to go.”

Are you saying preload all the data and then just call which variables need to be displayed?

In my case I have 13 seperate dataframes that I want to “preload” in this “Bank”. Each is approx 200MB. Is this too large from your experience?

By the way your link HERE, doesn’t work anymore, any alternative?

Thanks, and sorry for the delayed response again.

On Friday, June 12, 2015 at 7:53:58 AM UTC-7, Sarah Bird wrote:

Hi Andrew.

OK, so in your early post you said “… without ,hopefully, having to use any POST/GET requests.”

This is possible. Whether it will take down your browser will depend on how big all your data is.

If we do it like this, then you won’t need blaze server. So it’s probably worth trying to do it like this as it’ll get the foundations of all the plots in place and then you can work out a more dynamic data source if it’s needed for performance.

Toggle plots on and off:

  • To my mind this is just eye candy
  • I would skip doing this is in Bokeh and just use normal html & js to do this.

Displaying plots:

  • Bokeh has gridplit, vplot, hplot. They’re great, but tweaking the layout can be a bit fiddly.

Updating the source data:

  • To do this all client side, I suggest you use a technique similar to what I have done here which also documents what I’ve done.
  • You will be using 4 Select widgets instead of a Slider, but it’s exactly the same principle.
  • The heart of this is building a series of ColumnDataSources python side ahead of time. In your case I imagine it would be one per station. You pass all these into your plot via a callback so that they’re available client side.
  • Then you have a separate ColumnDataSource that is driving your plot(s). When the select box updates, you switch the ‘data’ property for the ColumnDataSource that’s driving your plot to the correct one from your bank that’s all ready to go.
  • In your case I imagine that you will have one or more data sources for your plots. If you use one source for all your plots then you will be able to use shared selection features, (but it may be that the data needs to be differently shaped for different plots and trying to share a source will cause you problems). I suggest you start with a series of plots that can share a data source e.g. histogram may be a problem.

With all that, you should be good to go!

How big is all that data btw?

Best,

Bird

On Thu, Jun 11, 2015 at 1:41 AM, Andrew Joros [email protected] wrote:

Sounds good, looking forward to it. I’ll continue reading/trying/breaking … :wink:

On Wednesday, June 10, 2015 at 5:37:11 PM UTC-7, Sarah Bird wrote:

blaze - yes - it’s not something I’ve used and feel well equipped to comment on, but does seem relevant.

will ping back in the morning.

On Thu, Jun 11, 2015 at 1:30 AM, Andrew Joros [email protected] wrote:

Correct,

Regarding #1:

  1. Yes, Sometimes we want plots showing p1 vs. p2 … or p1 vs. w3 … or p2 vs. w5 etc. etc.
  2. For now, and to keep it simple, we can just play with the same variable types (e.g. p1 vs. p2, p1 vs. p3, etc.)
  3. And yes sometimes the “views” wont be the same in the future. We may be comparing say temperature to precipitation. Maybe a dual y-axis here would be useful?
    Regarding #2: Yes, to keep it simple, for now I only want to source two variables at once ( e.g. p1 vs. p3 ) … In the future we can worry about n-data streams.

Looking forward to hearing you input. I am reading up on Continuum’s Blaze package as it may be useful for what I have in mind.

Sleep well Sarah, and thanks again!

On Wednesday, June 10, 2015 at 5:21:15 PM UTC-7, Sarah Bird wrote:

So lets say:

Time series 1 - Precipitation § from Station 1 - p1

Time series 2 - Preciptation § from Station 3 - p3

I’m assuming that:

  1. if Precipiation is p and, say, Wind speed is w, then sometimes you may want to plot p1 and w3 (that is, it’s not always “the precipitation view” or “the windspeed view”)
  1. In the near-term you only want to source from two data streams (e.g. p1 & w3) and not n-data streams

On Thu, Jun 11, 2015 at 12:59 AM, Andrew Joros [email protected] wrote:

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1
  2. From another multi-tiered drop down menu: User Precipitation from Station 3
  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:
  1. The statistical plots will be all about precipitation in this case
  2. Each stats subplot, located under main timeseries plot
  3. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8f5e1d9f-548d-4589-aa5b-d22bcceee928%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/99e42076-80b5-4bb2-a01b-3557e80ca3dd%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/71e8797e-8b7c-4b0c-920e-807850efe46e%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/a87e9882-3508-4a5d-85aa-cce7f2798df4%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Yea that’s what I was fearing. I currently have a solution where I query a specific column from a POSTGRES SQL database and read that vector of data into it’s own respective ColumnDataSource. This is done when a user chooses a variable string name from a drop-down menu on the front end.

From what you’ve said, is there no possible way to just pre-load the data that exists on to a “bokeh-server backend” and just display and play with whatever variable is selected from a drop down? I feel constantly querying vector data from a SQL table could overload the server with too many POST/GET requests. What you say?

Thanks

···

On Monday, August 17, 2015 at 2:06:09 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

The gapminder example is now in bokeh examples: https://github.com/bokeh/bokeh/tree/master/examples/interactions/interactive_bubble - rendered example: https://birdsarah.github.io/europython-2015-bokeh/static/slides.html#/32

“In my case I have 13 seperate dataframes that I want to “preload” in this “Bank”. Each is approx 200MB. Is this too large from your experience?” I would say that even one of those is going to be too large! A 200MB web page will not make your browser happy let alone your users. For comparison, my gapminder example, which has ~60 column data sources that I switch between (one for each year) is a total of 200kb!!! I’m not sure at what point it would start to get sluggish and it would certainly depend on browsers and machine.

Looks like you’re going to need a solution with POSTs & GETs or you’re going to have to pre-down-sample / filter your data.

Best,

Bird

On Mon, Aug 17, 2015 at 9:15 PM, Andrew Joros [email protected] wrote:

Hi Sarah,

Sorry I didnt respond to this for a while. Been slammed with other projects.

So I have been working on this and have a prototype coded up but I took one of your comments and have been thinking of implementing it:

When you said “Then you have a separate ColumnDataSource that is driving your plot(s). When the select box updates, you switch the ‘data’ property for the ColumnDataSource that’s driving your plot to the correct one from your bank that’s all ready to go.”

Are you saying preload all the data and then just call which variables need to be displayed?

In my case I have 13 seperate dataframes that I want to “preload” in this “Bank”. Each is approx 200MB. Is this too large from your experience?

By the way your link HERE, doesn’t work anymore, any alternative?

Thanks, and sorry for the delayed response again.

On Friday, June 12, 2015 at 7:53:58 AM UTC-7, Sarah Bird wrote:

Hi Andrew.

OK, so in your early post you said “… without ,hopefully, having to use any POST/GET requests.”

This is possible. Whether it will take down your browser will depend on how big all your data is.

If we do it like this, then you won’t need blaze server. So it’s probably worth trying to do it like this as it’ll get the foundations of all the plots in place and then you can work out a more dynamic data source if it’s needed for performance.

Toggle plots on and off:

  • To my mind this is just eye candy
  • I would skip doing this is in Bokeh and just use normal html & js to do this.

Displaying plots:

  • Bokeh has gridplit, vplot, hplot. They’re great, but tweaking the layout can be a bit fiddly.

Updating the source data:

  • To do this all client side, I suggest you use a technique similar to what I have done here which also documents what I’ve done.
  • You will be using 4 Select widgets instead of a Slider, but it’s exactly the same principle.
  • The heart of this is building a series of ColumnDataSources python side ahead of time. In your case I imagine it would be one per station. You pass all these into your plot via a callback so that they’re available client side.
  • Then you have a separate ColumnDataSource that is driving your plot(s). When the select box updates, you switch the ‘data’ property for the ColumnDataSource that’s driving your plot to the correct one from your bank that’s all ready to go.
  • In your case I imagine that you will have one or more data sources for your plots. If you use one source for all your plots then you will be able to use shared selection features, (but it may be that the data needs to be differently shaped for different plots and trying to share a source will cause you problems). I suggest you start with a series of plots that can share a data source e.g. histogram may be a problem.

With all that, you should be good to go!

How big is all that data btw?

Best,

Bird

On Thu, Jun 11, 2015 at 1:41 AM, Andrew Joros [email protected] wrote:

Sounds good, looking forward to it. I’ll continue reading/trying/breaking … :wink:

On Wednesday, June 10, 2015 at 5:37:11 PM UTC-7, Sarah Bird wrote:

blaze - yes - it’s not something I’ve used and feel well equipped to comment on, but does seem relevant.

will ping back in the morning.

On Thu, Jun 11, 2015 at 1:30 AM, Andrew Joros [email protected] wrote:

Correct,

Regarding #1:

  1. Yes, Sometimes we want plots showing p1 vs. p2 … or p1 vs. w3 … or p2 vs. w5 etc. etc.
  2. For now, and to keep it simple, we can just play with the same variable types (e.g. p1 vs. p2, p1 vs. p3, etc.)
  3. And yes sometimes the “views” wont be the same in the future. We may be comparing say temperature to precipitation. Maybe a dual y-axis here would be useful?
    Regarding #2: Yes, to keep it simple, for now I only want to source two variables at once ( e.g. p1 vs. p3 ) … In the future we can worry about n-data streams.

Looking forward to hearing you input. I am reading up on Continuum’s Blaze package as it may be useful for what I have in mind.

Sleep well Sarah, and thanks again!

On Wednesday, June 10, 2015 at 5:21:15 PM UTC-7, Sarah Bird wrote:

So lets say:

Time series 1 - Precipitation § from Station 1 - p1

Time series 2 - Preciptation § from Station 3 - p3

I’m assuming that:

  1. if Precipiation is p and, say, Wind speed is w, then sometimes you may want to plot p1 and w3 (that is, it’s not always “the precipitation view” or “the windspeed view”)
  1. In the near-term you only want to source from two data streams (e.g. p1 & w3) and not n-data streams

On Thu, Jun 11, 2015 at 12:59 AM, Andrew Joros [email protected] wrote:

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1
  2. From another multi-tiered drop down menu: User Precipitation from Station 3
  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:
  1. The statistical plots will be all about precipitation in this case
  2. Each stats subplot, located under main timeseries plot
  3. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8f5e1d9f-548d-4589-aa5b-d22bcceee928%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/99e42076-80b5-4bb2-a01b-3557e80ca3dd%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/71e8797e-8b7c-4b0c-920e-807850efe46e%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/a87e9882-3508-4a5d-85aa-cce7f2798df4%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

None of what I was saying has anything to do with bokeh server. I was talking about the case of “… without ,hopefully, having to use any POST/GET requests.” which, to my mind, made no interaction with a server.

I don’t know bokeh server well enough to comment on it for your use case. Have you read this post (https://groups.google.com/a/continuum.io/forum/#!msg/bokeh/LORmlhbVqR0/ryzcsF0tDgAJ) from Bryan about the future of bokeh server though.

Best,

Bird

···

On Mon, Aug 17, 2015 at 10:39 PM, Andrew Joros [email protected] wrote:

Yea that’s what I was fearing. I currently have a solution where I query a specific column from a POSTGRES SQL database and read that vector of data into it’s own respective ColumnDataSource. This is done when a user chooses a variable string name from a drop-down menu on the front end.

From what you’ve said, is there no possible way to just pre-load the data that exists on to a “bokeh-server backend” and just display and play with whatever variable is selected from a drop down? I feel constantly querying vector data from a SQL table could overload the server with too many POST/GET requests. What you say?

Thanks

On Monday, August 17, 2015 at 2:06:09 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

The gapminder example is now in bokeh examples: https://github.com/bokeh/bokeh/tree/master/examples/interactions/interactive_bubble - rendered example: https://birdsarah.github.io/europython-2015-bokeh/static/slides.html#/32

“In my case I have 13 seperate dataframes that I want to “preload” in this “Bank”. Each is approx 200MB. Is this too large from your experience?” I would say that even one of those is going to be too large! A 200MB web page will not make your browser happy let alone your users. For comparison, my gapminder example, which has ~60 column data sources that I switch between (one for each year) is a total of 200kb!!! I’m not sure at what point it would start to get sluggish and it would certainly depend on browsers and machine.

Looks like you’re going to need a solution with POSTs & GETs or you’re going to have to pre-down-sample / filter your data.

Best,

Bird

On Mon, Aug 17, 2015 at 9:15 PM, Andrew Joros [email protected] wrote:

Hi Sarah,

Sorry I didnt respond to this for a while. Been slammed with other projects.

So I have been working on this and have a prototype coded up but I took one of your comments and have been thinking of implementing it:

When you said “Then you have a separate ColumnDataSource that is driving your plot(s). When the select box updates, you switch the ‘data’ property for the ColumnDataSource that’s driving your plot to the correct one from your bank that’s all ready to go.”

Are you saying preload all the data and then just call which variables need to be displayed?

In my case I have 13 seperate dataframes that I want to “preload” in this “Bank”. Each is approx 200MB. Is this too large from your experience?

By the way your link HERE, doesn’t work anymore, any alternative?

Thanks, and sorry for the delayed response again.

On Friday, June 12, 2015 at 7:53:58 AM UTC-7, Sarah Bird wrote:

Hi Andrew.

OK, so in your early post you said “… without ,hopefully, having to use any POST/GET requests.”

This is possible. Whether it will take down your browser will depend on how big all your data is.

If we do it like this, then you won’t need blaze server. So it’s probably worth trying to do it like this as it’ll get the foundations of all the plots in place and then you can work out a more dynamic data source if it’s needed for performance.

Toggle plots on and off:

  • To my mind this is just eye candy
  • I would skip doing this is in Bokeh and just use normal html & js to do this.

Displaying plots:

  • Bokeh has gridplit, vplot, hplot. They’re great, but tweaking the layout can be a bit fiddly.

Updating the source data:

  • To do this all client side, I suggest you use a technique similar to what I have done here which also documents what I’ve done.
  • You will be using 4 Select widgets instead of a Slider, but it’s exactly the same principle.
  • The heart of this is building a series of ColumnDataSources python side ahead of time. In your case I imagine it would be one per station. You pass all these into your plot via a callback so that they’re available client side.
  • Then you have a separate ColumnDataSource that is driving your plot(s). When the select box updates, you switch the ‘data’ property for the ColumnDataSource that’s driving your plot to the correct one from your bank that’s all ready to go.
  • In your case I imagine that you will have one or more data sources for your plots. If you use one source for all your plots then you will be able to use shared selection features, (but it may be that the data needs to be differently shaped for different plots and trying to share a source will cause you problems). I suggest you start with a series of plots that can share a data source e.g. histogram may be a problem.

With all that, you should be good to go!

How big is all that data btw?

Best,

Bird

On Thu, Jun 11, 2015 at 1:41 AM, Andrew Joros [email protected] wrote:

Sounds good, looking forward to it. I’ll continue reading/trying/breaking … :wink:

On Wednesday, June 10, 2015 at 5:37:11 PM UTC-7, Sarah Bird wrote:

blaze - yes - it’s not something I’ve used and feel well equipped to comment on, but does seem relevant.

will ping back in the morning.

On Thu, Jun 11, 2015 at 1:30 AM, Andrew Joros [email protected] wrote:

Correct,

Regarding #1:

  1. Yes, Sometimes we want plots showing p1 vs. p2 … or p1 vs. w3 … or p2 vs. w5 etc. etc.
  2. For now, and to keep it simple, we can just play with the same variable types (e.g. p1 vs. p2, p1 vs. p3, etc.)
  3. And yes sometimes the “views” wont be the same in the future. We may be comparing say temperature to precipitation. Maybe a dual y-axis here would be useful?
    Regarding #2: Yes, to keep it simple, for now I only want to source two variables at once ( e.g. p1 vs. p3 ) … In the future we can worry about n-data streams.

Looking forward to hearing you input. I am reading up on Continuum’s Blaze package as it may be useful for what I have in mind.

Sleep well Sarah, and thanks again!

On Wednesday, June 10, 2015 at 5:21:15 PM UTC-7, Sarah Bird wrote:

So lets say:

Time series 1 - Precipitation § from Station 1 - p1

Time series 2 - Preciptation § from Station 3 - p3

I’m assuming that:

  1. if Precipiation is p and, say, Wind speed is w, then sometimes you may want to plot p1 and w3 (that is, it’s not always “the precipitation view” or “the windspeed view”)
  1. In the near-term you only want to source from two data streams (e.g. p1 & w3) and not n-data streams

On Thu, Jun 11, 2015 at 12:59 AM, Andrew Joros [email protected] wrote:

Sarah

To keep it simple for now, I would like to focus on just comparing two variables.

So Part 1:

  1. From a multi-tiered drop down menu: User chooses Precipitation from Station 1
  2. From another multi-tiered drop down menu: User Precipitation from Station 3
  3. A multi-line timeseries plot populates with Time on X-axis , Precip on Y-axis, and Weather Station (2 different colors in this case)
    Part 2:
  1. The statistical plots will be all about precipitation in this case
  2. Each stats subplot, located under main timeseries plot
  3. Give the option to toggle certain plots on/off
    I drew a really quick (ugly IMO) sketch but should give some idea of what I am looking for: http://imgur.com/diGaCq9

Thx

On Wednesday, June 10, 2015 at 4:26:25 PM UTC-7, Sarah Bird wrote:

To clarify (this might take some back and forth)

Lets take a simple example first and build up. Let me know where I’m getting it wrong.

Part 1

Lets say you have the column “precipitation” - you have that data for 13 seperate weather stations.

You expect to be able to select precipitation and a line graph shows up with each of the 13 different weather stations as different line.

Is this right? If so we now have data in 3 dimensions (time (x), precipitation (y), weather station (color)).

Part 2

The statistical plots - are they all about precipitation in the 13 different weather stations - i.e. correlating precipitation in 13 different centers or are they bringing in new dimensions?

FWIW - A mock-up might help. Just a few rough sketches.

On Thu, Jun 11, 2015 at 12:05 AM, Andrew Joros [email protected] wrote:

Sarah,

No worries. We are all busy with work, I understand.

Yes, the stocks example does cover quite a bit which include:

  1. Drop down menu capability
  2. Scatter plot of correlation
  3. Statistical output onscreen
  4. Histograms
  5. Individual time series (Although I would like these to be all on one plot)

The bits that don’t work for me (which I don’t see examples for):

  1. Multi-tiered drop down menus
  • I currently have a POSTGRES database with 13 tables and each table has 63 columns. Each column represents a different variable (Temp, Relative Humidity, Precipitation, etc.). Each table is different weather station.
  • I would like to be able to inter-compare between stations/variables
  • What is the best way to query this data and have it function with bokeh-server without too much response time lag. I am not positive if I am thinking of this in the correct way which is why I need input :wink:
  • Being able to toggle certain plots on/off. (e.g. turn off correlation plot and turn on histogram plot, etc.)
    I have more questions but this is a good place to start.

Let me know if this makes sense to you.

Thanks for your help

On Wednesday, June 10, 2015 at 1:59:50 PM UTC-7, Sarah Bird wrote:

Hi Andrew,

Sorry for not replying to your first post.

The short answer, is I do not know of an example exactly like that.

Have you seen the stocks example: http://bokeh.pydata.org/en/latest/docs/server_gallery/stocks_server.html

It seems to me, that this covers a lot of what you’ve asked for. The only difference being that the main plot is a scatter instead of a mult-line.

However, I may well be missing some points.

Can you tell me what bits of the stocks example do and don’t work for you.

Sincerely,

Sarah Bird

On Wed, Jun 10, 2015 at 8:10 PM, Andrew Joros [email protected] wrote:

Hi all,

I realize my last post was not that detailed and so I’d like to describe my example request in a little more detail:

Do you know of a working example or if it’s possible to:

  1. Create a multi-line time series from different variables via drop down menus which will be linked to a database (in my case POSTGRES read in using Pandas? [not sure if this is best way]). I am using various meteorological data similar to you.
  1. Auto-create stats plots (e.g. histograms, scatterplots, correlation coef, PDFs, CDFs, etc.) below the aforementioned multi-line time series plot.
  1. Give the ability to subset the time series data (via box select, lasso etc.) and view the resultant subset in stats plots below the main time series plots.

I am looking for the best way to tackle these 63+ variables and to be able to compare/contrast them all on one webpage without ,hopefully, having to use any POST/GET requests.

Thx!

On Tuesday, June 9, 2015 at 2:54:23 AM UTC-7, Andrew Joros wrote:

Hi all,

Been searching around without much luck so I thought I’d ask here. Does anyone know of a working example of a bokeh-server plot where there exists a multi-line time series and below that timeseries are various statistical plots based on the multi-line time series selection?

The statistical plots can be histograms, scatterplots, correlation coef, PDFs, CDFs, etc. My idea is to also be able to select/unselect (via checkbox) different variables and compare/constrast these variables on-the-fly using a bokeh-server.

Thanks for any and all input.

AJ

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3a95374b-5efd-4c82-8ee7-ff182d0b8b41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3745afcb-4571-403d-8261-52ad967284ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/8f5e1d9f-548d-4589-aa5b-d22bcceee928%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/99e42076-80b5-4bb2-a01b-3557e80ca3dd%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/71e8797e-8b7c-4b0c-920e-807850efe46e%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/a87e9882-3508-4a5d-85aa-cce7f2798df4%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/2d79becf-3e09-4e3a-93ab-8b959d988516%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.