bar(left, height, width, color)
barh(bottom, width, height, color)
barh是将图像横着画
left:x轴的位置序列,一般采用arrange函数产生一个序列
height:y轴的数值序列,也就是柱形图的高度,一般就是我们需要展示的数据
width:柱形图的宽度
color:颜色
# -*- coding: utf-8 -*-
import numpy;
import matplotlib;
from pandas import read_csv;
from matplotlib import pyplot as plt;
data = read_csv('F://baiduNetdisk//pytorch//5//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();
# -*- 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('F://baiduNetdisk//pytorch//5//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'];
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('F://baiduNetdisk//pytorch//5//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();