Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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 牛郎星置信区间图_Python_Plot_Altair - Fatal编程技术网

Python 牛郎星置信区间图

Python 牛郎星置信区间图,python,plot,altair,Python,Plot,Altair,我希望使用altair创建一个类似于附图的绘图,它是使用matplotlib绘制的。基本上,绘制平均值的直线和置信区间 我的数据框看起来像这样 dfr = pd.DataFrame(list(zip(mean, lower, upper)), columns=["Mean", "Lower", "Upper"], index=pd.RangeI

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

我的数据框看起来像这样

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

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

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

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

将图片作为图片,而不是链接。非常感谢!