首页 > 其他 > 详细

条形图-数据分析(5)

时间:2020-07-04 22:30:30      阅读:57      评论:0      收藏:0      [点我收藏+]
# -*- 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();

 

条形图-数据分析(5)

原文:https://www.cnblogs.com/topass123/p/13236787.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!