1.不同菜品在某段时间的销售量的分布情况(饼图和条形图)
import pandas as pd import matplotlib.pyplot as plt catering_dish_profit = '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('菜品销售量分布(饼图)学号3145') # 设置标题 plt.axis('equal') plt.show() # 绘制条形图 x = data['菜品名'] y = data['盈利'] plt.figure(figsize = (8, 4)) # 设置画布大小 plt.bar(x,y) plt.rcParams['font.sans-serif'] = 'SimHei' plt.xlabel('菜品') # 设置x轴标题 plt.ylabel('销量') # 设置y轴标题 plt.title('菜品销售量分布(条形图)3145') # 设置标题 plt.show() # 展示图片
2.不同部门在各月份的销售对比情况(折线图)
# 部门之间销售金额比较 import pandas as pd import matplotlib.pyplot as plt data=pd.read_excel("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.ylabel('销售额(万元)') plt.title('3145') # 设置标题 plt.show() # B部门各年份之间销售金额的比较 data=pd.read_excel("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.ylabel('销售额(万元)')
plt.title('3145') plt.show()
3.菜品盈利帕累托图
import pandas as pd # 初始化参数 dish_profit = '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")) # 添加注释,即85%处的标记。这里包括了指定箭头样式。 plt.ylabel('盈利(比例)') plt.title('3145') # 设置标题 plt.show()
4.季度销售额频率分布直方图
import pandas as pd import numpy as np catering_sale = '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(['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('季度销售额频率分布直方图3145',fontsize=20) plt.show()
5.绘制一条蓝色的正弦虚线
import numpy as np x = np.linspace(0,2*np.pi,50) # x坐标输入 y = np.sin(x) # 计算对应x的正弦值 plt.plot(x, y, 'bp--') # 控制图形格式为蓝色带星虚线,显示正弦曲线
plt.title('3145') plt.show()
6.使用plot(logy = True)函数进行绘图
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 import numpy as np import pandas as pd x = pd.Series(np.exp(np.arange(20))) # 原始数据 plt.figure(figsize = (8, 9)) # 设置画布大小 ax1 = plt.subplot(2, 1, 1) plt.title('3145') x.plot(label = '原始数据图', legend = True) ax1 = plt.subplot(2, 1, 2) x.plot(logy = True, label = '对数数据图', legend = True) plt.show()
标签:plot,plt,第一周,python,sale,绘图,pd,import,data From: https://www.cnblogs.com/lijieying/p/17156702.html