使用标题作为轴,第一列作为轴

时间:2014-09-20 20:33:16

标签: python matplotlib pandas

我有下表名为totalData,打印totalData将显示以下内容:

  Region  Q1  Q2  Q3  Q4
0 West    1   5.2 3.1 2.05
1 Center  3.1 1.2 1.2 3
2 East    1.9 4.1 1.1 5.3

我想使用一个条形来比较每个区域的季度变化,并在每个区域使用一个4条X区域来显示它。

我想只使用数值数据,并将该区域显示为我的X轴,将Quarter显示为我的Y轴。

我试着写:

totalData.hist(kind='bar')

但它忽略了Region和Quarter并且给了我数字列作为我的X轴(我如何摆脱这个列?)和整数值直到6(<比我在表中的最高值)

我如何使用Region和Quarter作为我的轴值?

1 个答案:

答案 0 :(得分:2)

这很简单。您有两种选择:

  1. Region设置为数据库的索引
  2. x='Region'传递给情节方法。
  3. 方法1:

    from io import StringIO
    
    import matplotlib.pyplot as plt
    import pandas
    
    data = StringIO("""\
    Region  Q1  Q2  Q3  Q4
    West    1   5.2 3.1 2.05
    Center  3.1 1.2 1.2 3
    East    1.9 4.1 1.1 5.3
    """)
    
    df = pandas.read_table(data, sep='\s+')
    df = df.set_index('Region')
    df.plot(kind='bar')
    

    方法2:

    from io import StringIO
    
    import matplotlib.pyplot as plt
    import pandas
    
    data = StringIO("""\
    Region  Q1  Q2  Q3  Q4
    West    1   5.2 3.1 2.05
    Center  3.1 1.2 1.2 3
    East    1.9 4.1 1.1 5.3
    """)
    
    df = pandas.read_table(data, sep='\s+')
    df.plot(kind='bar', x='Region')
    

    两个都给我:

    enter image description here