Altair 中具有自定义置信区间的折线图

Line Chart with Custom Confidence Interval in Altair

假设我有以下数据框:

我检查了 documentation,但它仅基于一个列。

可重现代码:

x = np.random.normal(100,5,100)
data = pd.DataFrame(x)
epsilon = 10
data.columns = ['x']
data['lower'] = x - epsilon
data['upper'] = x + epsilon
data

我其实很想用 altair,因为我喜欢它的交互性。

您可以对折线图和面积图进行分层,使用 yy2 编码来指定范围:

import altair as alt
import pandas as pd
import numpy as np

x = np.random.normal(100,5,100)
epsilon = 10
data = pd.DataFrame({
    'x': x,
    'lower': x - epsilon,
    'upper': x + epsilon
}).reset_index()

line = alt.Chart(data).mark_line().encode(
    x='index',
    y='x'
)

band = alt.Chart(data).mark_area(
    opacity=0.5
).encode(
    x='index',
    y='lower',
    y2='upper'
)

band + line