gpt4 book ai didi

python - 箱线图网格

转载 作者:太空狗 更新时间:2023-10-30 00:44:48 24 4
gpt4 key购买 nike

假设我有一些数据。可以说这是天气数据,每个月的降雨量和温度。对于这个例子,我将随机生成如下:

def rand_weather(n):
month = n%12+1
temp_ind = np.random.randint(0,4)
temp = ["freezing", "cold", "moderate", "hot", "extreme"][temp_ind]
rain = np.random.normal(50 - 4*temp_ind, 25) + np.random.randint(0,20)
return month,rain, temp

data = [rand_weather(n) for n in range(3000)]
rain_record = pd.DataFrame(data, columns=["month", "rainfall", "temp"])

所以数据看起来像这样:

    month   rainfall      temp
0 1 78.364133 cold
1 2 54.290201 freezing
2 3 81.341265 cold
3 4 98.980334 hot
... ... ... ...
12 1 66.378066 moderate
13 2 44.264323 moderate
... ... ... ...

我想画一个Trellis Box plots的图表.


我可以像这样绘制均值的网格图:

avgs = rain_record.groupby(['temp','month']).mean()
avgs.reset_index(inplace=True) #Make the 'temp' and 'month' columns again

import pandas.tools.rplot as rplot
plt.figure(figsize=(12,6), dpi=20)
plt.title=pattern

plot = rplot.RPlot(avgs, y='rainfall', x='month')
plot.add(rplot.TrellisGrid(['temp', '.']))
plot.add(rplot.GeomScatter())
#plot.add(rplot.GeomPoint(size=80.0, alpha=0.5))
t=plot.render(plt.gcf())

trellis_of means


我可以像这样绘制每个 'temp' 的箱线图(对于 'cold'):

rain_record[rain_record.temp=='cold'].boxplot(by='month')

box_plot

我可以遍历每个临时文件以生成一系列临时文件。但是轴不会像在网格中那样本质上对齐。我想存在手动设置 matplotlibs 轴的选项,但我不确定这样做的好方法。

最佳答案

你可以使用 seaborn ,特别是 factorplot 函数:

import seaborn as sns
sns.set_style("whitegrid")

sns.factorplot("month", "rainfall", row="temp", data=rain_record,
size=2, aspect=5, kind="box", palette="PuBuGn_d")
sns.despine(left=True)

enter image description here

关于python - 箱线图网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25072059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com