首页 > 编程语言 >第一周,python绘图

第一周,python绘图

时间:2023-02-26 14:56:55浏览次数:44  
标签:plot plt 第一周 python sale 绘图 pd import data

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

相关文章

  • python 上下文管理器(Context managers)
    上下文管理器允许你在有需要的时候,精确地分配和释放资源。使用上下文管理器最广泛的案例就是with语句了。想象下你有两个需要结对执行的相关操作,然后还要在它们中间放置一......
  • python 函数缓存 (Function caching)
    函数缓存允许我们将一个函数对于给定参数的返回值缓存起来。当一个I/O密集的函数被频繁使用相同的参数调用的时候,函数缓存可以节约时间。在Python3.2版本以前我们只有写一......
  • 解决python 操作 hbase报错:TTransportException(type=4,message=’TSocket read 0 byt
    ```text#解决报错:hbase报错TTransportException(type=4,message=’TSocketread0bytes’)这种情况一般协议问题和服务端没开启,如果服务端是开启的,且正常的.那么考虑协......
  • PythonGame-2 Cocos2d环境搭建
    1、安装pip3installcocos2d报错Preparingmetadata(setup.py)...errorerror:subprocess-exited-with-error×pythonsetup.pyegg_infodidnotruns......
  • python--matplotlib(3)
    前言 Matplotlib画图工具的官网地址是http://matplotlib.org/Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制......
  • python(8.5)--列表习题
    目录​​一、求输出结果题 ​​​​二、计算列表元素个数 ​​​​三、查找是否存在某元素 ​​​​四、删除某元素 ​​​​五、如何在列表中插入元素​​​​六、如何......
  • python--matplotlib(1)
    目录​​前言 ​​​​正文​​​​1.arange函数​​​​ 2.绘制sin(x)曲线​​​​3.给sin()加标题,控制x,y轴​​​​4.linspace函数​​​​5.使用linspace函数画一个......
  • python--matplotlib(2)
    前言 Matplotlib画图工具的官网地址是http://matplotlib.org/Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制......
  • python--matplotlib(4)
    前言 Matplotlib画图工具的官网地址是http://matplotlib.org/Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制......
  • python--排序总结
    1.快速排序a.原理快速排序的基本思想是在待排序的n个元素中任取一个元素(通常取第一个元素)作为基准,把该元素放人最终位置后,整个数据序列被基准分割成两个子序列,所有小于基......