牛郎星置信区间图

2024-06-01 19:15:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望使用altair创建一个类似于附图的绘图,它是使用matplotlib绘制的。基本上,绘制平均值的直线和置信区间

enter image description here

我的数据框看起来像这样

dfr = pd.DataFrame(list(zip(mean, lower, upper)),
                       columns=["Mean", "Lower", "Upper"],
                       index=pd.RangeIndex(46, name="x"))

你知道我怎样才能做到这一点吗?我搞不懂altair的语法。谢谢


Tags: 数据绘图dataframematplotlib绘制zipmean直线
1条回答
网友
1楼 · 发布于 2024-06-01 19:15:36

可以通过分层线图和面积图来实现这一点。例如:

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

np.random.seed(9)
mean = np.random.randn(46).cumsum()
lower = mean - 2
upper = mean + 2

dfr = pd.DataFrame(list(zip(mean, lower, upper)),
                       columns=["Mean", "Lower", "Upper"],
                       index=pd.RangeIndex(46, name="x"))

line = alt.Chart(dfr.reset_index()).mark_line().encode(
    x='x',
    y='Mean'
)

band = line.mark_area(opacity=0.5).encode(
    x='x',
    y='Lower',
    y2='Upper'
)

band + line

enter image description here

相关问题 更多 >