zoukankan      html  css  js  c++  java
  • 条形图-数据分析(5)

    # -*- coding: utf-8 -*-
    import numpy;
    import matplotlib;
    from pandas import read_csv;
    from matplotlib import pyplot as plt;
    
    font = {
        'family' : 'SimHei'
    };
    matplotlib.rc('font', **font);
    
    data = read_csv('D:\python\5.4\data.csv');
    
    d1 = '手机品牌';
    d2 = '通信品牌';
    v = "月消费";
    
    gb = data.groupby(by=[d1, d2])['月消费(元)'].agg({v: numpy.sum});
    
    d1size = gb.index.levels[0].size;
    d2size = gb.index.levels[1].size;
    #建立x轴的序列
    index = numpy.arange(d1size);
    colors=['r', 'g', 'b'];
    #遍历每一种颜色的数据
    for i in range(0, d2size): 
        print(i);
        subgb = gb[v][gb.index.labels[1]==i];
        bar = plt.bar(index*d2size + i, subgb, color=colors[i]);
    #移动柱形图(-向右;+向左,往原点靠拢)
    lIndex = numpy.arange(d1size)*d2size;
    plt.xticks(lIndex + 3/2, gb.index.levels[0]);
    #显示图例
    plt.legend(gb.index.levels[1]);
    plt.show();

     结果:

     柱形重叠:

    # -*- coding: utf-8 -*-
    import numpy;
    import matplotlib;
    from pandas import read_csv;
    from matplotlib import pyplot as plt;
    
    font = {
        'family' : 'SimHei'
    };
    matplotlib.rc('font', **font);
    
    data = read_csv('D:\PA\5.4\data.csv');
    
    d1 = '手机品牌';
    d2 = '通信品牌';
    v = "月消费";
    
    gb = data.groupby(by=[d1, d2])['月消费(元)'].agg({v: numpy.sum});
    
    d1size = gb.index.levels[0].size;
    d2size = gb.index.levels[1].size;
    
    index = numpy.arange(d1size);
    colors = ['r', 'g', 'b'];
    bsum = index*0.0;
    
    for i in range(0, d2size): 
        print(i);
        subgb = gb[v][gb.index.labels[1]==i];    
        bar = plt.bar(index, subgb, color=colors[i], bottom=bsum);
        bsum += subgb;
    
    plt.xticks(index+1/2, gb.index.levels[0]);
    
    plt.legend(gb.index.levels[1]);
    plt.show();

    结果:

    直方图:

    # -*- coding: utf-8 -*-
    import numpy;
    import matplotlib;
    from pandas import read_csv;
    from matplotlib import pyplot as plt;
    
    font = {
        'family' : 'SimHei'
    };
    matplotlib.rc('font', **font);
    
    data = read_csv('D:\python\5.4\data.csv');
    
    gb = data.groupby(
        by=['手机品牌']
    )['月消费(元)'].agg({
        '月消费': numpy.sum
    });
    
    index = numpy.arange(gb['月消费'].size);
    
    #竖向柱形图
    plt.bar(index, gb['月消费'], 1, color='G');
    plt.show();
    
    plt.bar(index, gb['月消费'], 1, color='G');
    plt.xticks(index + 1/2, gb.index);
    plt.show();
    
    #横向柱形图
    plt.barh(index, gb['月消费'], 1, color='G');
    plt.yticks(index + 1/2, gb.index);
    plt.show();
  • 相关阅读:
    自学华为IoT物联网_10 IoT联接管理平台配置及开发实验1
    自学华为IoT物联网_09 OceanConnect业务流程
    自学华为IoT物联网_08 IoT连接管理平台介绍
    自学华为IoT物联网_07 物联网安全
    自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案
    自学华为IoT物联网_05 能源工业物联网常见问题及解决方案
    自学华为IoT物联网_04 车联网常见问题及解决方案
    自学华为IoT物联网_03 公共事业物联网常见问题及解决方案
    自学华为IoT物联网_02 常见物联网通信技术
    OpenDCIM-19.01操作手册
  • 原文地址:https://www.cnblogs.com/topass123/p/13236787.html
Copyright © 2011-2022 走看看