应用Python进行统计数据画图
画饼图:
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
import pandas as pd
import numpy as np
#import seaborn as
import matplotlib.pyplot as plt
import os
plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
plt.rcParams['axes.unicode_minus'] = False
file_path = r'D:/a_learn/大三/a_大数据分析/实训1/catering_dish_profit.xls' # r对路径进行转义,windows需要
data = pd.read_excel(file_path) # header=0表示第一行是表头,就自动去除了
print(data)
print("\n")
y=data.iloc[1].values
y=y[1:]
print(y)
plt.title("饼图 学号:3016")
plt.pie(y,
labels=['A1','A2','A3','A4','A5','A6','A7','A8','A9','A10'], # 设置饼图标签
colors=["#d5695d", "#5d8ca8", "#65a479", "#a564c9","#d5695d", "#5d8ca8", "#65a479", "#a564c9","#d5695d", "#5d8ca8"], # 设置饼图颜色
explode=(0, 0.2, 0, 0,0,0,0,0,0,0), # 第二部分突出显示,值越大,距离中心越远
autopct='%.2f%%', # 格式化输出百分比
)
plt.show()
箱型图
import pandas as pd file_path = r'D:\linshi\catering_fish_congee.xls' # r对路径进行转义,windows需要 raw_data = pd.read_excel(file_path, header=0) # header=0表示第一行是表头,就自动去除了 print(raw_data) import matplotlib.pyplot as plt import pandas as pd import numpy as np #import seaborn as import matplotlib.pyplot as plt # 设置中文和负号正常显示 plt.rcParams['font.sans-serif'] = 'Microsoft YaHei' plt.rcParams['axes.unicode_minus'] = False # 设置图形的显示风格 plt.style.use('ggplot') # 绘图:daily_Ionset_r_c1_predicted的箱线图 data= pd.read_excel(file_path, header=0,usecols=[1]) print(data) plt.boxplot(x = data, # 指定绘图数据 patch_artist=True, # 要求用自定义颜色填充盒形图,默认白色填充 showmeans=True, # 以点的形式显示均值 boxprops = {'color':'black','facecolor':'#9999ff'}, # 设置箱体属性,填充色和边框色 flierprops = {'marker':'o','markerfacecolor':'red','color':'black'}, # 设置异常值属性,点的形状、填充色和边框色 meanprops = {'marker':'D','markerfacecolor':'indianred'}, # 设置均值点的属性,点的形状、填充色 medianprops = {'linestyle':'--','color':'orange'}) # 设置中位数线的属性,线的类型和颜色 # 设置y轴的范围 #plt.ylim(0,3000) plt.title("箱型图 学号:3016") # 去除箱线图的上边框与右边框的刻度标签 plt.tick_params(top='off', right='off') # 保存图像 plt.savefig('./results_imgs.png', bbox_inches='tight') #保存的文件名,裁剪掉图表多余的空白区域 # 显示图形 plt.show()

柱状图
# -*- coding: utf-8 -*-
"""
Created on Sun Feb 26 20:25:18 2023
@author: 又双叒叕莹
"""
import pandas as pd
import numpy as np
#import seaborn as
import matplotlib.pyplot as plt
import os
plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
plt.rcParams['axes.unicode_minus'] = False
file_path = r'D:/a_learn/大三/a_大数据分析/实训1/data/dish_sale_b.xls' # r对路径进行转义,windows需要
data = pd.read_excel(file_path) # header=0表示第一行是表头,就自动去除了
print(data)
data=np.array(data)
x=data[0:12,0]
print(x)
x1=data[0:12,1]
print(x1)
x2=data[0:12,2]
print(x2)
x3=data[0:12,3]
print(x3)
x_width = range(0,len(x))
x2_width = [i+0.3 for i in x_width]
x3_width = [i+0.3 for i in x2_width]
plt.title("柱状图 学号:3016")
plt.bar(x_width,x1,lw=0.5,fc="r",width=0.3,label="2014")
plt.bar(x2_width,x2,lw=0.5,fc="b",width=0.3,label="2015")
plt.bar(x3_width,x3,lw=0.5,fc="y",width=0.3,label="2016")
plt.xticks(range(0,5),x)

# -*- coding: utf-8 -*- """ Created on Sun Feb 26 22:01:54 2023 @author: 又双叒叕莹 """ import pandas as pd import matplotlib.pyplot as plt #导入绘图包 plt.rcParams['font.sans-serif'] = ['SimHei'] #解决中文显示问题 plt.rcParams['axes.unicode_minus'] = False # 解决中文显示问题 url = r"D:/a_learn/大三/a_大数据分析/实训1/data/dish_sale.xls" data = pd.read_excel(url) #画折线图对比数据 plt.figure(figsize=(12,8)) plt.plot(data['月份'],data['A部门'],color='blue',label='A部门',marker='o') plt.plot(data['月份'],data['B部门'],color='red',label='B部门',marker='s') plt.plot(data['月份'],data['C部门'],color='green',label='C部门',marker='x') plt.xlabel('月份') plt.ylabel('销售额') plt.title('折线图--学号:3016') #加标题 plt.legend() #显示图例 plt.show()

浙公网安备 33010602011771号