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

在Python中使用加法在Holoviews中组合两种不同类型的图形,python,pandas,holoviews,Python,Pandas,Holoviews,我试图结合两种不同类型的图形。这两个图都有不同的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'),

我试图结合两种不同类型的图形。这两个图都有不同的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,
    width=width_sub,
    height=height_sub,
    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'].

是否有任何可行的解决方法?

尺寸
不是
hv的样式选项。如果需要较粗的线条,请使用
线条宽度

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,
    width=width_sub,
    height=height_sub,
    color='blue',
)

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

尺寸
不是
hv的样式选项。如果您想要更粗的线条,请使用
线条宽度

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,
    width=width_sub,
    height=height_sub,
    color='blue',
)

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

实际上我不想把曲线的x,y和点图的x,y混合在一起。可以用各自的轴值绘制图形吗?是的!只需在
hv.Layout
对象上指定
shared\u axes=False
。我更新了我的答案以反映这一点。谢谢兄弟。真是太棒了,伙计,你看起来像是在做交易。你能告诉我更多的事情,我们可以在HoloView中交换x轴和y轴吗?只需要传递
invert_axes=True
作为你想要改变轴的曲线的一个选项。我会用一个例子来更新我的答案。实际上我不想把曲线的x,y和点图的x,y混在一起。可以用各自的轴值绘制图形吗?是的!只需在
hv.Layout
对象上指定
shared\u axes=False
。我更新了我的答案以反映这一点。谢谢兄弟。真是太棒了,伙计,你看起来像是在做交易。你能告诉我更多的事情,我们可以在HoloView中交换x轴和y轴吗?只需要传递
invert_axes=True
作为你想要改变轴的曲线的一个选项。我将用一个例子更新我的答案。