【问题标题】:plotting multiple columns value in x-axis in python在python的x轴上绘制多列值
【发布时间】:2017-01-10 21:52:19
【问题描述】:

我有一个大小为 (3,100) 的数据框,其中填充了一些随机浮点值。 这是数据框的外观示例

     A         B         C
  4.394966  0.580573  2.293824    
  3.136197  2.227557  1.306508    
  4.010782  0.062342  3.629226
  2.687100  1.050942  3.143727
  1.280550  3.328417  2.247764
  4.417837  3.236766  2.970697
  1.036879  1.477697  4.029579
  2.759076  4.753388  3.222587
  1.989020  4.161404  1.073335
  1.054660  1.427896  2.066219
  0.301078  2.763342  4.166691
  2.323838  0.791260  0.050898
  3.544557  3.715050  4.196454
  0.128322  3.803740  2.117179
  0.549832  1.597547  4.288621

这就是我创建它的方式

df = pd.DataFrame(np.random.uniform(0,5,size=(100, 3)), columns=list('ABC'))

注意:pd 是熊猫

我想绘制一个条形图,它在 x 轴上有三个段,每个段都有 2 个条形。一个会显示小于 2 的值的数量,而其他大于等于 2 的值。

因此,在 x 轴上,A 列将附加两个条形,一个具有小于 2 的值总数,一个具有大于等于 2 的值,B 和 C 相同

任何人都可以提出任何建议吗? 我正在考虑使用 seaborn 并设置色调值来区分两个类(小于 2 和大于等于 2),但是色调属性仅适用于分类值,我只能在 x 轴属性中设置一列。

任何提示将不胜感激。

【问题讨论】:

    标签: python plot bar-chart seaborn


    【解决方案1】:

    你必须使用过滤器然后计数,然后你必须使用plot(kind='bar')

    import matplotlib.pyplot as plt
    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame(np.random.uniform(0,5,size=(100, 3)), columns=list('ABC'))
    
    dfout = pd.DataFrame({'minor' : df[df<= 2].count(),
         'major' : df[df > 2].count() })
    
    dfout.plot(kind='bar')
    plt.show()
    

    【讨论】:

    • 我不知道为什么有人投了反对票,但这行得通,所以我投了赞成票并将其作为可接受的答案
    • 如果您投了反对票,您应该发布您的动机以便能够改进帖子。
    猜你喜欢
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 2020-09-18
    • 1970-01-01
    相关资源
    最近更新 更多