首页 > 编程语言 >python绘制基本图

python绘制基本图

时间:2023-02-25 21:23:40浏览次数:37  
标签:基本 plt python data sale pd np import 绘制

import pandas as pd
import numpy as np
catering_sale='D:\大三下\大数据实验课\data\catering_sale.xls'
data=pd.read_excel(catering_sale,names=['data','sale'])

bins=[0,500,1000,1500,2000,2500,3000,3500,4000]
labels=['[0,500)','[5000,1000)','[1000,1500)','[1500,2000)','[2000,2500)','[2500,3000)','[3000,3500)','[3500,4000)']
#做标签的工作
data['sale分层']=pd.cut(data.sale,bins,labels=labels)
print(data)

 

 

 

#groupby做统计的工作,实现数据的分组和运算
aggResult=data.groupby(by=['sale分层'])['sale'].agg([('sale', np.size)])
print(aggResult)

 

pAggResult=round(aggResult/aggResult.sum(),2)*100
print(pAggResult)
import matplotlib.pyplot as plt
plt.figure(figsize=(10,6))
plt.title("3128")
pAggResult['sale'].plot(kind='bar',width=0.8,fontsize=10,color='r')
plt.rcParams['font.sans-serif']=['SimHei']
plt.title("频率分布直方图(3128)")
plt.show()

 

#绘制饼图
import pandas as pd import matplotlib.pyplot as plt catering_sale='D:\大三下\大数据实验课\data\catering_dish_profit.xls' data=pd.read_excel(catering_sale)#读取数据 #绘制饼图 x=data['盈利'] labels=data['菜品名'] plt.figure(figsize=(8,6))#设置画布大小 plt.pie(x,labels=labels)#绘制饼图 plt.rcParams['font.sans-serif']='SimHei' plt.title('销售量分布(饼图)(3128)')#设置标题 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('销量分布(条形图)(3128)')
plt.show()

 

 

 

 

import pandas as pd
import matplotlib.pyplot as plt
data=pd.read_excel("D:\大三下\大数据实验课\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.ylabel('销售额(万元)')
plt.title('不同部门各月份的销售对比情况(3128)')
plt.show()

#B部门各年份之间销售金额的比较
data=pd.read_excel("D:\大三下\大数据实验课\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.ylabel('销售额(万元)')
plt.title('不同部门各月份的销售对比情况(3128)')
plt.show()

 

 

 

#数据统计量分析
import pandas as pd
cetering_sale='D:\大三下\大数据实验课\data\catering_sale.xls'
data=pd.read_excel(cetering_sale,index_col='日期')#读取数据,指定“日期”列
data=data[(data['销量']>400)&(data['销量']<5000)]#过滤异常数据
statistics=data.describe()#保存基本统计量

statistics.loc['range']=statistics.loc['max']-statistics.loc['min']#极差
statistics.loc['var']=statistics.loc['std']/statistics.loc['mean']#变异系数
statistics.loc['dis']=statistics.loc['75%']-statistics.loc['25%']#四分位数间距
print(statistics)

 

import pandas as pd
import matplotlib.pyplot as plt

df_normal=pd.read_csv("D:/大三下/大数据实验课/data/user.csv")
plt.figure(figsize=(8,4))
plt.plot(df_normal["Date"],df_normal["Eletricity"])
plt.xlabel("日期")
#设置x轴刻度间隔
x_major_locator=plt.MultipleLocator(7)
ax=plt.gca()
ax.xaxis.set_major_locator(x_major_locator)
plt.ylabel("每日电量")
plt.title("正常用户电量趋势(3128)")
plt.rcParams['font.sans-serif']=['SimHei']
plt.show()

 

 

 

import numpy as np
import matplotlib.pyplot as plt
#linspace(a,b,c) a:初始值 b:结束值 c:元素数量(包括结束值)
x=np.linspace(0,2*np.pi,50)
y=np.sin(x)
plt.title('绘制曲线图(3128)')
plt.plot(x,y,'bp--')
plt.show()

 

 

 

import matplotlib.pyplot as plt
years=[2009,2010,2011,2012,2013,2014,2015,2016,2017]
turnovers=[0.5,9.36,52,191,350,571,912,1027,1682]
plt.figure()
plt.scatter(years,turnovers,c='red',s=100,label='年份标签')
plt.xticks(range(2008,2017,2))
plt.yticks(range(0,3200,800))
plt.xlabel("Year",fontdict={'size':16})
plt.ylabel("Number",fontdict={'size':16})
plt.title("散点图(3128)",fontdict={'size':20})
#legend标签位置
plt.legend(loc='best')
plt.show()

 

 

import pandas as pd
import numpy as np
x=np.linspace(0,2*np.pi,endpoint=True)
y=np.sin(x)
plt.figure()
plt.plot(x,y,'gp--') #绿色带星虚线
plt.xlabel("x",fontdict={'size':16})
plt.ylabel("y",fontdict={'size':16})
plt.legend("sin(x)")
plt.title("曲线图(3128)")
plt.show()

 

 

#饼图
import matplotlib.pyplot as plt #The slices will be crdered and plotted counter-clockwise labels='A','B','C','D'#定义标签 sizes=[25,30,35,10]#每一块的比例 colors=['yellowgreen','gold','lightskyblue','lightcoral']#每一块的颜色 explode=(0,0,0,0.2)#突出显示,这里仅仅突出显示第二块(即‘D’) plt.pie(sizes,explode=explode,labels=labels,colors=colors,autopct='%1.lf%%', shadow=True,startangle=90) plt.axis('equal')#显示为圆(避免比例压缩为椭圆) plt.show()

 

 

 

import matplotlib.pyplot as plt
import numpy as np
x=np.random.randn(800)
#1000个服从正态分布的随机数
plt.hist(x,10)#分成10组绘制直方图
plt.title('随机数直方图(3128)')
plt.show()

 

 

 

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))#设置画布大小
axl=plt.subplot(2,1,1)
x.plot(label='原始数据图',legend=True)
plt.title('使用plot(logy=True)函数进行绘图(3128)')

axl=plt.subplot(2,1,2)
x.plot(logy=True,label='对数数据图',legend=True)
plt.show()

 

 

#绘制误差棒图
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

error=np.random.randn(10)          #定义误差列
y=pd.Series(np.sin(np.arange(10)))#均值数值列
y.plot(yerr=error)                 #绘制误差图
plt.title('误差棒图(3128)')
plt.show()

 

 

#绘制箱型图
import pandas as pd catering_sale='D:\大三下\大数据实验课\catering_sale.xls' #餐饮数据 data=pd.read_excel(catering_sale,index_col=u'日期') #读取数据,指定“日期”列为索引列 print(data.describe)

 

 

#异常值检测
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') #画箱型图,直接使用DetaFrame的方法
x=p['fliers'][0].get_xdata() #‘flies’即为异常值的标签
y=p['fliers'][0].get_ydata()
y.sort()#从小大大依次排序,该方法直接改变原对象

'''
用annotate添加注释
其中有些相近的点,注释会出现重叠,难以看清,需要一些技巧来控制
以下参数都输经过调试过的,需要具体问题具体调试
'''
for i in range(len(x)):
    if i>0:
         plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.05-0.8/(y[i]-y[i-1]),y[i]))
    else:
        plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.08,y[i]))
plt.show() #展示箱型图

 

 

 

math_scores = np.array([71,65,70,96,64])
chinese_scores = np.array([84,75,68,83,57])
english_scores = np.array([55,78,76,91,64])
figure2 = plt.figure(figsize = (10, 5))
figure2.add_subplot(1,1,1)
plt.xlabel("",fontsize = 14)
plt.ylabel("平均分", fontsize = 14)
plt.xticks(fontsize=14)
plt.yticks(fontsize=14)
plt.title("成绩条形图(3128)", fontsize=14)
plt.rcParams["font.sans-serif"] = "SimHei"
plt.rcParams["axes.unicode_minus"] = False
category = ["1班", "2班", "3班", "4班", "5班"]
index_category = np.arange(len(category))
bar_width = 0.25
plt.bar(index_category - bar_width, chinese_scores, width=bar_width, color=[0,0,1])
plt.bar(index_category, math_scores, width=bar_width, color=[0,1,0])
plt.bar(index_category + bar_width, english_scores, width=bar_width, color=[1,0,0])
plt.show()

 通过本章学习数据认识到了数据质量分析要求先对数据检测是否存在缺失值和异常值;而数据特征分析要求我们在数据挖掘建模前,通过频率分布分析、对比分析、帕累托分析、周期性分析、相关性分析等方法,对采集的样本数据的特征进行分析,以了解数据的规律和趋势,为数据挖掘的后续环节提供支持。

数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程。

数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。

标签:基本,plt,python,data,sale,pd,np,import,绘制
From: https://www.cnblogs.com/c0902/p/17155379.html

相关文章

  • python基础-元组tuple( )
    元组的定义和操作元组的特性:元素数量支持多个元素类型任意下标索引支持重复元素支持可修改性不支持数据有序是使用场景不可修改、可重复的......
  • python基础-列表[ ]
     1列表的定义#定义一个列表listmy_list=["jhk",123,'fasdf']print(my_list)print(type(my_list))#定义一个嵌套的列表my_list=[[1,2,3],[4,5,6],......
  • python 画图 chap3
    importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falseplt.figure()p=data.boxplot(return_type='dict'......
  • python基础-基本语句
    1条件语句在进行逻辑判断时,我们需要用到条件语句,Python 提供了 if、elif、else 来进行逻辑判断。格式如下所示: 1if判断条件1:2执行语句1...3elif判断......
  • python基础-入门必备知识
    1标识符标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。以下划线开头的标识符有特殊含义......
  • python数据的基础绘图分析
    importpandasaspddf=pd.read_excel(r"C:\Users\ying\Desktop\catering_sale.xls")  print(df.describe())销量count200.000000mean2755......
  • python爬虫学习——re模块(正则表达式)
    正则表达式常用操作符.任何单个字符[]字符集,对单个字符给出取值范围[abc]、[a-z][^]非字符集,对单个字符给出排除范围[^abc]*对前一个字符0次或无限次拓......
  • Docker安装及基本使用
    一、安装Docker(ubuntu)卸载旧版本(可选)sudoapt-getremovedockerdocker-enginedocker.iocontainerdrunc添加Docker的官方GPG密钥curl-fsSLhttps://mirrors.ustc.......
  • [oeasy]python0093_电子游戏起源_视频游戏_达特茅斯_Basic_家酿俱乐部
    编码进化回忆上次内容EdRobert的创业之路从售卖diy组装配件到进军计算器市场最后发布牛郎星8800intel8080的出现让人人都有自己的个人电脑BillGate和Pau......
  • [oeasy]python0093_电子游戏起源_视频游戏_达特茅斯_Basic_家酿俱乐部
    编码进化回忆上次内容EdRobert的创业之路从售卖diy组装配件到进军计算器市场最后发布牛郎星8800intel8080的出现让人人都有自己的个人电脑......