import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure()
p=data.boxplot(return_type='dict')
x=p['fliers'][0].get_xdata()
y=p['fliers'][0].get_ydata()
y.sort()
import pandas as pd
import numpy as np
catering_sale = 'F:\大数据分析\\catering_fish_congee.xls' # 餐饮数据
data = pd.read_excel(catering_sale,names=['date','sale']) # 读取数据,指定“日期”列为索引
bins = [0,500,1000,1500,2000,2500,3000,3500,4000]
labels = ['[0,500)','[500,1000)','[1000,1500)','[1500,2000)',
'[2000,2500)','[2500,3000)','[3000,3500)','[3500,4000)']
data['sale分层'] = pd.cut(data.sale, bins, labels=labels)
aggResult = data.groupby(by=['sale分层'])['sale'].agg([('sale', np.size)])
pAggResult = round(aggResult/aggResult.sum(), 2, ) * 100
import matplotlib.pyplot as plt
plt.figure(figsize=(10,6)) # 设置图框大小尺寸
pAggResult['sale'].plot(kind='bar',width=0.8,fontsize=10) # 绘制频率直方图
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.title('季度销售额频率分布直方图 3138',fontsize=20)
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
catering_dish_profit='F:\大数据分析\data\\catering_dish_profit.xls'
data = pd.read_excel(catering_dish_profit)
x=data['盈利']
labels = data['菜品名']
plt.figure(figsize = (8,6))
plt.pie(x,labels=labels)
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.title('菜品销售量分布(饼图) 3138')
plt.axis('equal')
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
catering_dish_profit='F:\大数据分析\data\\catering_dish_profit.xls'
data = pd.read_excel(catering_dish_profit)
x=data['菜品名']
y=data['盈利']
plt.figure(figsize = (8,4))
plt.bar(x,y)
plt.rcParams['font.sans-serif']='SimHei'
plt.xlabel('菜品')
plt.ylabel('销量')
plt.title('菜品销量分布 (条形图) 3138')
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_excel("F:\大数据分析\data\\dish_sale.xls")
plt.figure(figsize = (8,4))
plt.plot(data['月份'],data['A部门'],color='green',label='A部门',marker='o')
plt.plot(data['月份'],data['B部门'],color='red',label='B部门',marker='s')
plt.plot(data['月份'],data['C部门'],color='skyblue',label='C部门',marker='x')
plt.legend()
plt.title("3部门之间销售额的比较 3138")
plt.ylabel('销售额(万元)')
plt.show()
data = pd.read_excel("F:\大数据分析\data\\dish_sale_b.xls")
plt.figure(figsize=(8, 4))
plt.plot(data['月份'],data['2012年'],color='green',label='2012年',marker='o')
plt.plot(data['月份'],data['2013年'],color='red',label='2013年',marker='s')
plt.plot(data['月份'],data['2014年'],color='skyblue',label='2014年',marker='x')
plt.legend()
plt.title("B部门各年份销售额的比较 3138")
plt.ylabel('销售额 (万元)')
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
df_normal = pd.read_csv("F:\大数据分析\data\\user.csv")
plt.figure(figsize = (8,4))
plt.plot(df_normal["Date"],df_normal["Eletricity"])
plt.xlabel("日期")
x_major_locator = plt.MultipleLocator(7)
ax = plt.gca()
ax.xaxis.set_major_locator(x_major_locator)
plt.ylabel("每日电量")
plt.title("正常用户电量趋势 3138")
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.show()
df_steal = pd.read_csv("F:\大数据分析\data\\Steal user.csv")
plt.figure(figsize = (10,9))
plt.plot(df_steal["Date"],df_steal["Eletricity"])
plt.xlabel("日期")
plt.ylabel("日期")
x_major_locator = plt.MultipleLocator(7)
ax = plt.gca()
ax.xaxis.set_major_locator(x_major_locator)
plt.title("窃电用户电量趋势 3138")
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.show()
import pandas as pd
dish_profit = 'F:\大数据分析\data\\catering_dish_profit.xls'
data = pd.read_excel(dish_profit, index_col='菜品名')
data = data['盈利'].copy()
data.sort_values(ascending=False)
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure()
data.plot(kind='bar')
plt.ylabel('盈利(元)')
p = 1.0*data.cumsum()/data.sum()
p.plot(color='r',secondary_y=True,style='-o',linewidth=2)
plt.annotate(format(p[6],'.4%'),xy=(6,p[6]),xytext=(6*0.9,p[6]*0.9),arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))
plt.ylabel('盈利(比例)')
plt.title("菜品盈利数据帕累托图 3138")
plt.show()
总结:以使用较多的 matplotlib 为列,整个图像为一个Figure
对象,在 Figure
对象中可以包含一个或多个 Axes
对象,每个Axes
对象都是一个拥有自己坐标系统的绘图区域。
在之后的学习中一定要牢记以上基本的图形,能够在分析数据时熟练运用。
标签:plot,plt,python,画图,sale,chap3,pd,dish,data From: https://www.cnblogs.com/Carina----/p/17155334.html