我有一个基于模拟迭代生成的数据的数据(例如,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')
看来你非常接近。您只需要在代码末尾添加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()