Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将面板和Altair交互式图表另存为HTML_Python_Html_Panel_Altair - Fatal编程技术网

Python 将面板和Altair交互式图表另存为HTML

Python 将面板和Altair交互式图表另存为HTML,python,html,panel,altair,Python,Html,Panel,Altair,我创建了一个面板和牵牛星互动图表使用 from bokeh.resources import INLINE, CDN from vega_datasets import data import panel as pn import pandas as pd import altair as alt from altair import datum cars = data.cars() alt.renderers.enable('altair_viewer') alt.data_transfor

我创建了一个面板和牵牛星互动图表使用

from bokeh.resources import INLINE, CDN
from vega_datasets import data
import panel as pn
import pandas as pd
import altair as alt
from altair import datum
cars = data.cars()

alt.renderers.enable('altair_viewer')
alt.data_transformers.enable('default')
pn.extension('vega')
options= cars['Origin'].unique().tolist()
hp_range_slider = pn.widgets.RangeSlider(
    name='Range Slider', start=40, end=250, value=(60, 160), step=10)
country_ticker = pn.widgets.MultiSelect(name='MultiSelect', value=[options[0], options[1]],
    options=options, size=8)
@pn.depends(country_ticker.param.value, hp_range_slider.param.value)
def get_plot(country_ticker, hp_range):
    df=cars.copy()
    start_hp = hp_range_slider.value[0]
    end_hp = hp_range_slider.value[1]
    mask = (df['Horsepower'] > start_hp) & (df['Horsepower'] <= end_hp)  # create filter mask for the dataframe
    df = df.loc[mask]  # filter the dataframe
    print(country_ticker)
    print(start_hp,end_hp)
    # create the Altair chart object
    scatter = alt.Chart(df).mark_point().encode(
        x='Horsepower:Q',
        y='Miles_per_Gallon:Q',
        color='Origin:N'
    ).transform_filter(
        alt.FieldOneOfPredicate(field='Origin', oneOf=country_ticker)
    )
    return scatter
title = '## Horsepower Dashboard'
subtitle = 'This dashboard allows you to select a country and HP range .'


dashboard = pn.Row(
    pn.Column(title, subtitle, country_ticker, hp_range_slider),
    get_plot # draw chart function!
)
dashboard.servable()

dashboard.save("test_altair.html",embed=True,resources=INLINE)
dashboard.show()
来自bokeh.resources导入内联,CDN
从vega_数据集导入数据
作为pn导入面板
作为pd进口熊猫
将牵牛星导入为alt
从牵牛星导入数据
cars=data.cars()
alt.renderers.enable('altair\u viewer')
alt.data\u transformers.enable('default')
pn.扩展(“织女星”)
选项=汽车['Origin'].unique().tolist()
hp_range_slider=pn.widgets.RangeSlider(
name='Range Slider',start=40,end=250,value=(60160),step=10)
country_ticker=pn.widgets.MultiSelect(name='MultiSelect',value=[options[0],options[1]],
选项=选项,大小=8)
@请注意,取决于(国家/地区参数值、hp范围滑块参数值)
def get_绘图(国家/地区、hp_范围):
df=cars.copy()
开始\u hp=hp\u范围\u滑块。值[0]
结束\u hp=hp\u范围\u滑块。值[1]

mask=(df['Horsepower']>start_hp)和(df['Horsepower']altair_查看器
渲染器需要一个活动内核

请注意,基于altair viewer的显示只有在创建图表的内核运行时才能正常工作,因为它取决于内核启动的后台服务器

如果希望保存的HTML中的图表在没有内核的情况下显示,则需要使用其他渲染器,如默认渲染器。有关渲染器的详细信息,请参阅