有人可以指导我制作一张像这张图片中的蟒蛇图:confidence boxes
我根据一个具有18个不同值的参数来测量过程的运行时间。我做了100次测量每个值的运行时间。 现在我需要99%(或95%)置信区间作为参数每个值的平均值左右的框。
我考虑过将seaborn.tsplot()与interpolate = False一起使用,然后调整matplot输出以生成confidence boxes like that
这是pandas dataFrame看起来像
的最小python示例import pandas as pd
import numpy as np
import seaborn as sns
import scipy.stats as st
RUNS=100
X = list(range(20,210,10))
data = pd.DataFrame()
for x in X:
fakeData = np.array([x*10]*RUNS)
randomVariation = np.random.random(RUNS)*x
y = np.add(fakeData, randomVariation)
data[x] = y
#calculate mean and confidence intervals
for x in X:
y = np.array(data[x])
mean = np.mean(y)
ci = st.t.interval(0.99, len(y)-1, loc=mean, scale=st.sem(y))
print((mean,)+ ci)
编辑:忘了提及:我已经可以计算平均值和置信区间。我只需要一些指导来完成图形部分。