在箱形图python中将模拟/迭代可视化为置信区间?

时间:2019-04-01 15:58:03

标签: python-3.x statistics data-visualization boxplot

我有一个数据,该数据具有基于模拟迭代生成的值(例如100),并试图将100次迭代的均值/中位数,第一和第三四分位数的变化可视化为箱形图中的阴影置信区间。我很难在箱线图中找到模拟/迭代的示例工作表示形式,并且想知道是否有人指导。感谢您的建议。下图是我尝试实现的示例输出示例。

import random
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import itertools




def generate_dataframe():
    # Create a pandas dataframe...

    _type = ['A', 'B', 'C', 'D'] *2500
    _shares = [random.randint(0,100) for _ in range(10000)]
    lst = range(1,101)    
    _iterations = list(itertools.chain.from_iterable(itertools.repeat(x, 100) for x in lst))
    return pd.DataFrame(
        {
         'Type': _type,
         'shares': _shares,
         'iteration': _iterations
        })



df = generate_dataframe()
#df.boxplot(column = 'shares', by=['Type', 'iteration'])
df.boxplot(column = 'shares', by='Type')

enter image description here

1 个答案:

答案 0 :(得分:0)

看来您很亲密。您只需要在代码末尾添加plt.show()即可

import random
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import itertools

def generate_dataframe():
    # Create a pandas dataframe...

    _type = ['A', 'B', 'C', 'D'] *2500
    _shares = [random.randint(0,100) for _ in range(10000)]
    lst = range(1,101)    
    _iterations = list(itertools.chain.from_iterable(itertools.repeat(x, 100) 
for x in lst))
    return pd.DataFrame(
        {
         'Type': _type,
         'shares': _shares,
         'iteration': _iterations
        })

df = generate_dataframe()
df.boxplot(column = 'shares', by='Type')
plt.show()