Python的Holoviews响应图表与sizing_mode财产

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

我使用Holoviews和背景虚化,并有一个问题。使用背景虚化,我可以指定sizing_mode =“scale_width”属性,这样我的图表将响应。而现在工作得很好。但我找不到这样的事了Hovowiews。

boxwhisker = hv.BoxWhisker(df, ['cyl', 'origin'], 'mpg', label='')
boxwhisker.options(show_legend=False, height=200, sizing_mode='scale_width')
renderer = hv.renderer('bokeh')
boxChart = renderer.get_plot(boxwhisker).state
boxChart.name = 'boxChart'

curdoc().add_root(boxChart)

sizing_mode =“scale_width”是第二行不工作,所以我有我的图表大小固定,不会响应。

是它的任何解决方案?

python charts responsive bokeh holoviews
1个回答
0
投票

截至目前,你不能这样做,直接通过Holoviews,但通过提取从Holoviews一个背景虚化情节的方式。这个想法是从this Holoviews page下采取“结合HoloViews和背景虚化图解/小工具”。

上面的例子可以作出回应如下:

import holoviews as hv
import pandas as pd
from bokeh.io import curdoc
from bokeh.layouts import layout

hv.extension('bokeh')

data = [[1, 'A', 5],
        [1, 'A', 3],
        [1, 'B', 10],
        [1, 'B', 5],
        [2, 'A', 5],
        [2, 'A', 19],
        [2, 'B', 7],
        [2, 'B', 10]]
df = pd.DataFrame.from_records(data, columns=['cyl', 'origin', 'mpg'])

boxwhisker = hv.BoxWhisker(df, ['cyl', 'origin'], 'mpg', label='')
boxwhisker.options(show_legend=False, height=200)
renderer = hv.renderer('bokeh').instance(mode='server')
doc = curdoc()
box_chart = renderer.get_plot(boxwhisker, doc)
doc.name = 'boxChart'
plot_layout = layout(box_chart.state, sizing_mode='scale_width')
doc.add_root(plot_layout)
© www.soinside.com 2019 - 2024. All rights reserved.