data.csv数据下载
data_for_pie.csv数据下载
import matplotlib.pyplot as plt // plt.plot
散点图
# -*- coding: utf-8 -*-
__author__ = 'yuanlei'
import matplotlib
from pandas import read_csv
import matplotlib.pyplot as plt
data = read_csv("data.csv")
#####
font = {
'family' : 'SimHei'
}
matplotlib.rc('font', **font)
#####
# 注意点1:要把读入的serise类型的数据转化成list
# 注意点2:为了在坐标轴上显示中文标题,需要在中文前加上u,以及
# 在plt.plot之前加上上面那段话.
plt.plot(list(data["广告费用"]),list(data["购买用户数"]), '.')
plt.xlabel(u"广告费用")
plt.ylabel(u"购买用户数")
plt.show()
折线图以及各种设置
# -*- coding: utf-8 -*-
__author__ = 'yuanlei'
import matplotlib
import pandas
#from pandas import read_csv
import matplotlib.pyplot as plt
data = pandas.read_csv("data.csv")
data['购买日期']=pandas.to_datetime(data['日期'])
#####
font = {
'family' : 'SimHei'
}
matplotlib.rc('font', **font)
#####
# 注意点1:要把读入的serise类型的数据转化成list
# 注意点2:为了在坐标轴上显示中文标题,需要在中文前加上u,以及
# 在plt.plot之前加上上面那段话.
#plt.plot(list(data['购买日期']),list(data["购买用户数"]), '.')
#'-' 顺滑的曲线
plt.plot(list(data['购买日期']), list(data['购买用户数']), '-');
# #设置颜色
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '-', color='r');
# #设置线条粗细
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '-', color='r', lineWidth=10);
#
# #'--' 虚线
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '--');
# #'-.' 线加点
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '-.');
# #':' 由点组成的曲线
# plt.plot(list(data['购买日期']), list(data['购买用户数']), ':');
# #'.' 散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '.');
# #',' 像素点的散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), ',');
# #'o' 大点的散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), 'o');
# #'v' 下三角标记的散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), 'v');
# #'^' 上上角标记的散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '^');
# #'<' 左角标记的散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '<');
# #'>' 右角标记的散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '>');
# #'1' 伞形下的标记散点图
# #'2' 伞形上的标记散点图
# #'3' 伞形左的标记散点图
# #'4' 伞形右的标记散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '4');
# #'s' 正方形标记的散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), 's');
# #'p' 五角形标记的散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), 'p');
# #'*' 五角星标记的散点图
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '*');
# #'h' 多边形标记的散点图
# #'H' hexagon2 marker
# plt.plot(list(data['购买日期']), list(data['购买用户数']), 'h');
# #'+' plus marker
# #'x' x marker
# #'D' diamond marker
# #'d' thin_diamond marker
# plt.plot(list(data['购买日期']), list(data['购买用户数']), 'D');
# #'|' vline marker
# #'_' hline marker
# plt.plot(list(data['购买日期']), list(data['购买用户数']), '|');
plt.xlabel(u"广告费用")
plt.ylabel(u"购买用户数")
plt.show()
import matplotlib.pyplot as plt // plt.pie
饼图
# -*- coding: utf-8 -*-
import numpy;
import matplotlib;
from pandas import read_csv;
import matplotlib.pyplot as plt;
data = read_csv('data_for_pie.csv');
gb = data.groupby(
by=['通信品牌'],
as_index=False
)['号码'].agg({
'用户数':numpy.size
});
print(gb['通信品牌'])
print(gb["用户数"])
#用原来的手段会导致编码问题,目前还没解决
a = {0:"全球通",1:"动感地带",2:"神州行"}
font = {
'family' : 'SimHei'
}
matplotlib.rc('font', **font);
#plt.pie(b, a, autopct='%.2f%%');gb['通信品牌']
plt.pie(gb['用户数'], labels=a, autopct='%.2f%%');
plt.show()
import matplotlib.pyplot as plt // plt.bar
柱形图
# -*- 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('data_for_pie.csv')
gb = data.groupby(
by=['手机品牌']
)['月消费(元)'].agg({
'月消费': numpy.sum
})
index = numpy.arange(gb['月消费'].size)
print(gb.index)
#竖向柱形图
# 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('data_for_pie.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('data_for_pie.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();
import matplotlib.pyplot as plt // plt.hist
直方图
# -*- coding: utf-8 -*-
import matplotlib;
from pandas import read_csv;
from matplotlib import pyplot as plt;
font = {
'family' : 'SimHei'
};
matplotlib.rc('font', **font);
data = read_csv('data.csv')
# plt.hist(data['购买用户数']);
# plt.show();
#
# plt.hist(data['购买用户数'], bins=20);
# plt.show();
#
plt.hist(data['购买用户数'], bins=20, cumulative=True);
plt.show();