在Holoviews中使用Python中的加法来组合两种不同类型的图

问题描述

我正在尝试组合2种不同类型的图。两个图都有不同的x和y轴,这就是应该的。我只能以组合方式发送剧情。以下是我尝试和失败的事情。有解决方法吗?

import holoviews as hv
import pandas as pd

height_sub = 500
width_sub = 400

linechart1 = hv.Curve([(1,2,'crust'),(3,4,'moon'),(4,9,'mars')])
bubbled1 = hv.Curve([(10,'blue'),(78,'pink')])

linechart1.opts(
    line_color='lightblue',#     size=10,width=width_sub,height=height_sub,#     color='lightblue',#     show_grid=True
)

bubbled1.opts( 
    line_color='black',size=5,color='blue',#     show_grid=True
)
bubbled1 +linechart1

但是陷入了错误堆栈

~\.conda\envs\pyenv\lib\site-packages\holoviews\util\__init__.py in _options_error(cls,opt,objtype,backend,valid_options)
    415 
    416         if matches:
--> 417             raise ValueError('Unexpected option %r for %s type '
    418                              'across all extensions. Similar options '
    419                              'for current extension (%r) are: %s.' %

ValueError: Unexpected option 'size' for Curve type across all extensions. Similar options for current extension ('bokeh') are: ['fontsize'].

是否有任何解决方法

解决方法

size不是hv.Curve的样式选项,如果您想要更粗的线,请使用line_width

import holoviews as hv
hv.extension("bokeh")

height_sub = 500
width_sub = 400

linechart1 = hv.Curve([(1,2,'crust'),(3,4,'moon'),(4,9,'mars')])
bubbled1 = hv.Curve([(10,'blue'),(78,'pink')])

linechart1.opts(
    line_color='lightblue',line_width=10,width=width_sub,height=height_sub,invert_axes=True
)

bubbled1.opts( 
    line_color='black',line_width=5,color='blue',)

layout = bubbled1 + linechart1
layout.opts(shared_axes=False)

enter image description here