Setting the number of ticks of a axis, overall slow performance

i want to plot data from an experiment where we detected counts into 512 channels. The file consists of the number of counts per channel, loaded into a numpy array called “messdaten”.
that should be plotted with bokeh to take a interactive view of the data if needed. but the ticks on the x axis are so near by each other that no one can read them.

How can i set the number of ticks or tell expicitly the positions?

And i wanted to point out that i have really slow performance on my low end machine, with an celeron n2940 with 4gb of ram.

Im using the jupyter notebook where i use bokeh. my Anaconda is on V2.4 with Bokeh updated to 0.11!

Thank you for the help and for the great work on Anaconda and that other great stuff!!

Hi,

i want to plot data from an experiment where we detected counts into 512 channels. The file consists of the number of counts per channel, loaded into a numpy array called "messdaten".
that should be plotted with bokeh to take a interactive view of the data if needed. but the ticks on the x axis are so near by each other that no one can read them.
How can i set the number of ticks or tell expicitly the positions?

Tick locations are controlled by an Axis' ticker object:

  http://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#tick-locations

The plotting.Figure has convenience methods like .xaxis() for returning a plots x-axes (there might be more than one). But Chart does not (perhaps they should be added). But, it's easy to get the axes objects you want using the .select() method:

  In [10]: p = Bar(data=[1,2,3])

  In [11]: from bokeh.models import Axis

  In [12]: p.select(Axis)
  Out[12]:
  [<bokeh.models.axes.LinearAxis at 0x1086803c8>,
    <bokeh.models.axes.CategoricalAxis at 0x108680470>]

Once you have the Aixs you want to configure, you can modify the attributes on the existing ticker of the axis, or you can replace it entirely with a different kind of ticker (as described in the User's Guide link above).

And i wanted to point out that i have really slow performance on my low end machine, with an celeron n2940 with 4gb of ram.

This kinds of statement always needs quantification to be actionable. What is the actual code being used, what is the data size, what exactly is "really slow"? Because there could be any number of possibilities:

* an actual bug or feature to develop to improve things
* bad or suboptimal usage that we should make harder to do, or warn about
* a fundamental limitation that makes Bokeh a bad choice for a particular use-case

Without details, it's impossible to say where the issue might lie.

Im using the jupyter notebook where i use bokeh. my Anaconda is on V2.4 with Bokeh updated to 0.11!

Thank you for the help and for the great work on Anaconda and that other great stuff!!

Thanks for the kind words!

Bryan

···

On Jan 14, 2016, at 8:28 AM, [email protected] wrote:

Thanks for the help! It was succesful, after a little trying :wink:

How could i get more useful data for the performance issue? I would like to help the bokeh team if i can :slight_smile:

···

Am Donnerstag, 14. Januar 2016 15:58:50 UTC+1 schrieb Bryan Van de ven:

Hi,

On Jan 14, 2016, at 8:28 AM, [email protected] wrote:

i want to plot data from an experiment where we detected counts into 512 channels. The file consists of the number of counts per channel, loaded into a numpy array called “messdaten”.

that should be plotted with bokeh to take a interactive view of the data if needed. but the ticks on the x axis are so near by each other that no one can read them.
How can i set the number of ticks or tell expicitly the positions?

Tick locations are controlled by an Axis’ ticker object:

    [http://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#tick-locations](http://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#tick-locations)

The plotting.Figure has convenience methods like .xaxis() for returning a plots x-axes (there might be more than one). But Chart does not (perhaps they should be added). But, it’s easy to get the axes objects you want using the .select() method:

    In [10]: p = Bar(data=[1,2,3])



    In [11]: from bokeh.models import Axis



    In [12]: p.select(Axis)

    Out[12]:
    [<bokeh.models.axes.LinearAxis at 0x1086803c8>,

      <bokeh.models.axes.CategoricalAxis at 0x108680470>]

Once you have the Aixs you want to configure, you can modify the attributes on the existing ticker of the axis, or you can replace it entirely with a different kind of ticker (as described in the User’s Guide link above).

And i wanted to point out that i have really slow performance on my low end machine, with an celeron n2940 with 4gb of ram.

This kinds of statement always needs quantification to be actionable. What is the actual code being used, what is the data size, what exactly is “really slow”? Because there could be any number of possibilities:

  • an actual bug or feature to develop to improve things

  • bad or suboptimal usage that we should make harder to do, or warn about

  • a fundamental limitation that makes Bokeh a bad choice for a particular use-case

Without details, it’s impossible to say where the issue might lie.

Im using the jupyter notebook where i use bokeh. my Anaconda is on V2.4 with Bokeh updated to 0.11!

Thank you for the help and for the great work on Anaconda and that other great stuff!!

Thanks for the kind words!

Bryan