数据挖掘python画各类图

 1 import pandas as pd
 2 import numpy as np
 3 catering_sale = 'D:\data\catering_fish_congee(1).xls'  # 餐饮数据
 4 data = pd.read_excel(catering_sale,names=['date','sale'])  # 读取数据,指定“日期”列为索引
 5 
 6 bins = [0,500,1000,1500,2000,2500,3000,3500,4000]
 7 labels = ['[0,500)','[500,1000)','[1000,1500)','[1500,2000)',
 8        '[2000,2500)','[2500,3000)','[3000,3500)','[3500,4000)'] 
 9 
10 data['sale分层'] = pd.cut(data.sale, bins, labels=labels)
11 aggResult = data.groupby('sale分层').agg({'sale':'count'})
12 
13 pAggResult = round(aggResult/aggResult.sum(), 2, ) * 100
14 
15 import matplotlib.pyplot as plt
16 plt.figure(figsize=(10,6))  # 设置图框大小尺寸
17 pAggResult['sale'].plot(kind='bar',width=0.8,fontsize=10)  # 绘制频率直方图
18 plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
19 plt.title('季度销售额频率分布直方图  number—3014',fontsize=20)
20 plt.show()

 1 import xlrd
 2 import matplotlib.pyplot as plt
 3 # 设置中文和负号正常显示
 4 plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
 5 plt.rcParams['axes.unicode_minus'] = False
 6 
 7 # 设置图形的显示风格
 8 plt.style.use('ggplot')
 9 # 绘图:daily_Ionset_r_c1_predicted的箱线图
10 
11 data =[420,900,1290,420,1710,1290,2610,840,450,420,420,870,1800,1740,1350,450,420,1320,420,420,450,900,1740,900,870,1770,870,870,870,450,
12        1770,135,177,45,180,177,87,135,219,132,129,87,87,135,405,90,900,1290,2220,870,1800,1740,870,3090,870,900,2220,1350,900,2220,1800,
13        3960,1770,3570,2220,2700,1800,840,2250,420,2250,1320,3150,3540,3090,2190,1800,900,1260,420,1350,420,3150,1350,2250,900,840,840,
14        1350,1260,2700]
15 
16 plt.boxplot(x = data, # 指定绘图数据
17  
18             patch_artist=True, # 要求用自定义颜色填充盒形图,默认白色填充
19  
20             showmeans=True, # 以点的形式显示均值
21  
22             boxprops = {'color':'black','facecolor':'#9999ff'}, # 设置箱体属性,填充色和边框色
23  
24             flierprops = {'marker':'o','markerfacecolor':'red','color':'black'}, # 设置异常值属性,点的形状、填充色和边框色
25  
26             meanprops = {'marker':'D','markerfacecolor':'indianred'}, # 设置均值点的属性,点的形状、填充色
27  
28             medianprops = {'linestyle':'--','color':'orange'}) # 设置中位数线的属性,线的类型和颜色
29  
30 # 设置y轴的范围
31 #plt.ylim(0,3000)
32 
33 # 去除箱线图的上边框与右边框的刻度标签
34 plt.tick_params(top='off', right='off')
35 # 保存图像
36 plt.savefig('./results_imgs.png', bbox_inches='tight') #保存的文件名,裁剪掉图表多余的空白区域
37 plt.title('季度销售额箱型图  number—3014',fontsize=20)
38 # 显示图形
39 plt.show()

 

 1 import pandas as pd
 2 import matplotlib.pyplot as plt                #导入绘图包
 3 
 4 plt.rcParams['font.sans-serif'] = ['SimHei']   #解决中文显示问题
 5 plt.rcParams['axes.unicode_minus'] = False    # 解决中文显示问题
 6 
 7 url = r"D:\data\catering_dish_profit(1).xls"
 8 data = pd.read_excel(url)
 9 
10 #饼图
11 plt.figure(figsize=(6,6))#将画布设定为正方形,则绘制的饼图是正圆
12 plt.pie(data['盈利'], labels=data['菜品名'])  
13 plt.title('菜品销售量分布饼图  number—3014') #加标题
14 plt.show()
15 
16 #条形图
17 plt.figure(figsize=(8,4))
18 plt.bar(data['菜品名'],data['盈利']) 
19 plt.xlabel('菜品')
20 plt.ylabel('销量')
21 plt.title('菜品销售量条形图  number—3014') #加标题
22 plt.show()

 

 

 

 

 1 import pandas as pd
 2 import matplotlib.pyplot as plt                #导入绘图包
 3 
 4 plt.rcParams['font.sans-serif'] = ['SimHei']   #解决中文显示问题
 5 plt.rcParams['axes.unicode_minus'] = False    # 解决中文显示问题
 6 
 7 url = r"D:\data\dish_sale(1).xls"
 8 data = pd.read_excel(url)
 9 
10 #画折线图对比数据
11 plt.figure(figsize=(12,8))
12 plt.plot(data['月份'],data['A部门'],color='green',label='A部门',marker='o')
13 plt.plot(data['月份'],data['B部门'],color='red',label='B部门',marker='s')
14 plt.plot(data['月份'],data['C部门'],color='skyblue',label='C部门',marker='x')
15 plt.xlabel('月份')
16 plt.ylabel('销售额(万元)')
17 plt.title('菜品销售量折线对比图  number—3014',fontsize=30) #加标题
18 plt.legend() #显示图例
19 plt.show()

 

 

 1 import matplotlib.pyplot as plt
 2 import numpy as np
 3 
 4 plt.figure(figsize=(8,5),dpi=80) # 创建绘图图形对象figure,参数figsize决定尺寸,dpi为分辨率
 5 
 6 X = np.linspace(-np.pi*2, np.pi*2, 256, endpoint=True) #创建等差一维数组
 7 C = np.cos(X) # C == cos函数 y轴上的值
 8 S = np.sin(X) # S == sin函数 y轴上的值
 9 
10 plt.plot(X, C, color='b',linewidth=2.0,linestyle="-.") # plot方法绘点制图
11 plt.plot(X, S, color='g',linewidth=4.0,linestyle="--") # X、Y轴数据是前面两个参数,后面的参数可以设置曲线各种属性
12 # linewidth 为 线宽    linestyle 为 指定线型
13 
14 plt.xlabel("X") # X轴标题名字
15 plt.ylabel("Y")
16 plt.xlim(0,7) #设置 x轴的上下限为6
17 plt.xticks(np.linspace(0,7,8,endpoint=True)) #设置x轴上标点距离,用等差方法
18 plt.ylim(0,1.5)
19 plt.yticks(np.linspace(-1.5,1.5,4,endpoint=True))
20 
21 plt.title('sin\cos函数图像  number—3014',fontsize=20)
22 plt.show()

 

posted @ 2023-02-25 22:56  烎胤  阅读(88)  评论(0)    收藏  举报