On Jan 2, 2016, at 1:14 PM, [email protected] wrote:
I'm wondering if there has been any update to this? I'm at a crossroads with a big project but vector output is mandatory.
On Thursday, March 5, 2015 at 4:30:05 PM UTC-8, [email protected] wrote:
That all makes sense, thanks for taking the time to explain in detail.
On Wednesday, March 4, 2015 at 6:36:04 PM UTC-8, Bryan Van de ven wrote:
Programmatic generation of static images is definitely something we would very much like to support. Unfortunately, it is also a surprisingly difficult proposition. The first observation is that browsers canvas implementation only generate raster images, and don't help with SVG or PDF. Worse, browser security models mean that getting the data out is also very problematic. You can follow this history of this topic in a few issues:
MPL support is currently provided by a third party library, mplexporter. It is very useful in a large number of cases, but it is by no means complete, which explains errors you have seen. There is a MPL enhancement proposal to make a "serious" complete JSON serialization layer, much better than mplexorter. In principle this would work fantastically, allowing us to leverage all the MPL work for static image generation. But realistically, there are no indications that this work will materialize or even really get started any time in the near future (best guess: years, if at all). So, the current plan is to try and use the current BokehjS patched with node-canvas to generate images inside Node. But BokehJS is a large and complicated library and it is unclear that Node support is currently up to the task. Experiments and tests are ongoing. If the current plan proves unworkable, I am afraid that really only leaves the very undesirable proposition of creating and maintaining our own "duplicate" rendering code path in python that mirrors the BokehJS rendering code. This is obviously bad from an effort/maintenance viewpoint, but it's also disappointing because it means static image generation won't "just work" for other language bindings without including some python code or a python tool. However, given that we are probably going to make a move to WebGL for browser rendering, this may truly be the "best worst" possibility. But obviously it is a nontrivial undertaking that will take a nontrivial amount of time and effort.
I wish I had some better news to give you. It is my earnest hope that we will have a solution in 2015 but I can't provide any better estimates at this time.
> On Mar 3, 2015, at 5:49 PM, [email protected] wrote:
> I would very much like to use Bokeh in my IPython Notebooks (now Jupyter), but I also need to export the notebooks to PDFs. According to the IPython devs, Bokeh needs to support the _repr_latex method to allow nbconvert to save to PDF. Is this anywhere on the development plan?
> I am open to alternative suggestions. For example, the IPython developer suggested that I save the Bokeh plots to files, and then hand insert latex into the nbconvert latex output. With hundreds of plots, and several regenerations a week this is a nonstarter for me. I've googled and seen claims that Bokeh does not support programmatic saving of plots, so I don't believe I can automate that workflow.
> I've tried bokeh.mpl.to_bokeh to convert a matplotlib graphs into Bokeh, with the thinking that I could perhaps plot with matplotlib, convert the matplotlib figure to Bokeh for the live notebook, but strip the conversion out with a Python script before converting to PDF so that the matplotlib plot renders. In principle that works, but I get warnings about things like legend not being supported, and in general the output is not nearly as good as the matplotlib output. I admit to not trying extremely hard on this one.
> I seem to be left with either writing two versions of the plotting code for every plot and enabling the Bokeh or matplotlib version depending on whether I'm converting to PDF, or writing a compatibility layer
> Anyway, the output of Bokeh is fantastic, and I want to use it, but it is hard to use for static/printed output unless I am missing something.
> 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/bd66d217-5f04-4c58-a70d-86d312f26fa6%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/0057778a-5efc-4c3c-a77d-bfbd00934502%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.