无法通过Python使用BOKEH + HOLOVIEW绘图选项设置散景绘图参数

问题描述 投票:1回答:2

是否有任何文档指定如何通过holoview传递Bokeh参数?我正在阅读教程,但我认为我错过了一些小事。有一个在线的例子在Ipython中描述了这个,但我试图通过一个没有Ipython笔记本的python来做。 http://holoviews.org/Tutorials/Bokeh_Backend.html?highlight=bokeh

当我运行这个程序时,我得到了曲线,但颜色没有改变,我也得到这个错误:警告:root:Curve01537:使​​用仅适用于的机制设置非参数属性style = {'line_color':'green'}参数

我们如何设置参数?

    Code Example here
    from pprint import pprint, pformat
    import holoviews as hv
    import numpy as np
    import pathlib, os
    import webbrowser
    import lasio, las
    from holoviews import Store
    from holoviews.plotting.bokeh.element import (line_properties, fill_properties, text_properties)

   def plot_bokeh(plot):

       #Create renderer instance
       myrenderer = hv.Store.renderers['bokeh'].instance(fig='html')
       out_file_name = "".join(["./OUTPUT/","gyro", "_graph.html"])
       with open (out_file_name, 'w') as f:
       #Plot static html
           f.write (myrenderer.static_html(plot))
       f.close()
                     webbrowser.open_new_tab(pathlib.Path(os.path.abspath(out_file_name)).as_uri())


    def holoview_sandbox():


      curve_opts = dict(line_color='green')
      xs = np.linspace(0, np.pi*4, 100)
      data = (xs, np.sin(xs))


      holo_plot = hv.Curve(data, label='MY LABEL' , style=curve_opts) 
      plot_bokeh(holo_plot)

    if __name__ == '__main__':
        holoview_sandbox()
plot backend bokeh curve holoviews
2个回答
1
投票

在HoloViews中,选项不受对象本身的约束,这具有各种好处,包括能够使用不同的后端进行绘图。纯Python的设置样式选项的方法是这样的:

  curve_opts = dict(line_color='green')
  xs = np.linspace(0, np.pi*4, 100)
  data = (xs, np.sin(xs))
  holo_plot = hv.Curve(data, label='MY LABEL')(style=curve_opts)

Options Tutorial描述了如何设置这样的选项,但如果您发现其中一些不清楚,请告诉我们。


0
投票

这种语法也有效

holo_plot.opts(style = {'color':'green'})

当您在Philipp的答案的dict()中将条目'line_color'更改为'color'时,这也适用于matplotlib后端。

有关设置选项的详细信息,除了Philipp的链接外,还可以找到here

© www.soinside.com 2019 - 2024. All rights reserved.