【问题标题】:How do I produce a bar chart of the mean of the data in each category in a data frame?如何生成数据框中每个类别中数据平均值的条形图?
【发布时间】:2021-01-11 11:12:26
【问题描述】:

我正在查看chickwts 内置数据集。 我想显示每个饲料类别的雏鸡体重平均值的条形图。

我可以为计数和单个权重生成条形图,但不知道如何将平均值放入条形图中。

dataframe结构如下。

list (chickwts)
[[1]]
   weight      feed
1     179 horsebean
2     160 horsebean
3     136 horsebean
4     227 horsebean
5     217 horsebean
6     168 horsebean
7     108 horsebean
8     124 horsebean
9     143 horsebean
10    140 horsebean
11    309   linseed
12    229   linseed
13    181   linseed
14    141   linseed
15    260   linseed
16    203   linseed
17    148   linseed
18    169   linseed
19    213   linseed
20    257   linseed
21    244   linseed
22    271   linseed
23    243   soybean
24    230   soybean
25    248   soybean
26    327   soybean
27    329   soybean
28    250   soybean
29    193   soybean
30    271   soybean
31    316   soybean
32    267   soybean
33    199   soybean
34    171   soybean
35    158   soybean
36    248   soybean
37    423 sunflower
38    340 sunflower
39    392 sunflower
40    339 sunflower
41    341 sunflower
42    226 sunflower
43    320 sunflower
44    295 sunflower
45    334 sunflower
46    322 sunflower
47    297 sunflower
48    318 sunflower
49    325  meatmeal
50    257  meatmeal
51    303  meatmeal
52    315  meatmeal
53    380  meatmeal
54    153  meatmeal
55    263  meatmeal
56    242  meatmeal
57    206  meatmeal
58    344  meatmeal
59    258  meatmeal
60    368    casein
61    390    casein
62    379    casein
63    260    casein
64    404    casein
65    318    casein
66    352    casein
67    359    casein
68    216    casein
69    222    casein
70    283    casein
71    332    casein

任何帮助表示赞赏。

【问题讨论】:

    标签: r dataframe bar-chart categorical-data


    【解决方案1】:

    我建议您创建两个列表,一个用于类别名称,另一个用于平均值。然后,使用plt.bar() 绘制它。这里是一个示例代码:

    cat=[]
    mean_value=[]
    for e in df["feed"].unique():
        cat.append(e)
        mean_value.append(df["feed"][df["feed"]==e])
    

    然后绘制它:

    import matplotlib.pyplot as plt
    
    fig = plt.figure(figsize = (10, 5)) 
      
    # creating the bar plot 
    plt.bar(cat, mean_value, color ='maroon',  
            width = 0.4) 
      
    plt.xlabel("Feed") 
    plt.ylabel("Mean") 
    plt.title("Mean of feeds") 
    plt.show() 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 2017-10-12
      • 2017-11-12
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 2021-01-11
      相关资源
      最近更新 更多