首页 > 编程语言 >大数据挖掘-python基本绘图函数学习

大数据挖掘-python基本绘图函数学习

时间:2023-02-27 11:23:28浏览次数:29  
标签:plot plt show python np 绘图 pd 数据挖掘 import

1-plot绘制线型图

plot是python中最基本的绘制二维线性折线图的函数

基本使用方式:plt.plot(x,y,s)

代码实现:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#plt.plot(x,y,s)   画出红色的正弦函数图
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,2*np.pi,50)  #绘制出50个横坐标   (0,2Π)
y = np.sin(x)
plt.title('3126-mint')
plt.plot(x,y,'r+')
plt.show()

 

 

 

2-pie函数绘制饼图

饼图能够展示出各个部分的比例,能够非常只管的感受出每个部分的占比

代码实现:

import matplotlib.pyplot as plt
labels = ['口语','听力','阅读','写作']
sizes = [15,30,35,20]   #每一块的比例
colors =['green','gold','blue','lightcoral']   #每一块的颜色
explode = (0.2,0.1,0,0)    #突出显示

plt.pie(sizes,explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90)
plt.axis('equal')      #显示为圆,避免压缩成椭圆
plt.title('3126-mint')
plt.show()

 

 

 

这里以一个学生的雅思成绩为例子,可以看到,听力和阅读是学生的主要得分点,而口语和写作的得分相对差一些,还可以观察到口语的的部分更加突出(离圆心更远),这是因为口语是最能够
提高分数的一门。

3-hist函数绘制二位条形直方图

代码实现:

# x = np.random.randn(1000)   #随机生成1000个服从正态分布的随机数
# plt.hist(x,10)
# plt.title('3126-mint')
# plt.show()
#
# import pandas as pd
# data = pd.read_excel("catering_sale.xls",index_col='日期')   #读取数据,置顶日期为索引列
# data = data['销量']
# plt.hist(data,10)
# plt.title('3126-mint')
# plt.show()

 

运行结果

 

 

 

4-boxplot绘制箱型图

箱型图可以很明显的看出异常值,异常值都被清晰的标志出来

实现代码1

#绘制箱型图
x = np.random.randn(1000)
D= pd.DataFrame([x,x+1]).T     #构造两列的DataFrame
D.plot(kind='box')       #Series内置绘图方法,指定参数为box
plt.title('3126-mint')
#用annotate添加注释
plt.show()

 

运行结果

 可以看出小黑点就是离群点

 

这里再用一个本书上的例子来画一个箱型图

import pandas as pd
import numpy as np

data = pd.read_excel("F:\2022年国赛建模培训\培训任务1\catering_sale.xls",index_col='日期')   #读取数据,置顶日期为索引列
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')
x = p['fliers'][0].get_xdata()        #fliers即为异常值的标签
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()

 

运行结果

 直方图可以很好的观察数据的分布特征,这里用python的np.random.randn(1000)绘制了一千个服从正态度分布的数,为了更为明显我运行了三次,直方图都是服从正态分布的

5-plot(logx=True)/plot(logy=True) 绘制对数图

代码实现

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = pd.Series(np.exp(np.arange(20)))
plt.figure(figsize=(8,9))
ax1 = plt.subplot(2,1,1)
x.plot(label='原始数据图',legend=True)

ax1 = plt.subplot(2,1,2)
x.plot(logy=True,label='对数数据图',legend=True)
plt.title('3126-mint')
plt.show()

 

运行结果

总结:1、 字体可以使用自己下载的 zhfont1=matplotlib.font_manager.FontProperties(fname="SimHei.ttf") 也可以使用系统的 plt.rcParams['font.family']='SimHei'
2、 三要素,标题:plt.title     x座标 plt.xlabel          y坐标  plt.ylabel
3、 绘制子图使用 plt.subplot
4、 绘制数据标签:plt.text
5、 图形显示 plt.show()
6、 最后没说的 plt.savefig('路径/名称.png')
7、 想让x坐标的文字倾斜45度: plt.xticks(rotation=45)   好文要顶 关注我 收藏该文  

标签:plot,plt,show,python,np,绘图,pd,数据挖掘,import
From: https://www.cnblogs.com/mintlyx/p/17159027.html

相关文章

  • python getattr动态调用方法
    classCC():defaa(self):print('aa')defbb(self):print('bb')CC=CC()getattr(CC,'aa',)() 传参classCC():defaa(self,aa)......
  • Python用于数据绘图
    importpandasaspdimportmatplotlib.pyplotasplt#导入绘图包plt.rcParams['font.sans-serif']=['SimHei']#解决中文显示问题plt.rcParams[......
  • python画图学习
    1.plot绘制线型图plot是python中最基本的绘制二维线性折线图的函数基本使用方式:plt.plot(x,y,s)importmatplotlib.pyplotaspltimportnumpyasnpimportpandasa......
  • linux上安装python3(yum方式)
      可联通外网的linux系统终端上安装python31,建立yum仓库:https://mirrors.163.com/centos/7.9.2009/os/x86_64/2,使用yum下载安装对应包:#yum-ygroupinstall"De......
  • Python 网络编程
    自计算机诞生以来,计算机网络逐渐从单机模型发展成了网络互联模型 最初只是远程终端连接,终端(键盘和显示器)分布在各地然后与主机相连,用户通过终端来与远程主机进行交互,终......
  • python requests请求出现 requests.exceptions.ConnectionError: ('Connection aborte
    pythonrequests请求出现requests.exceptions.ConnectionError:('Connectionaborted.',OSError(22,'Invalidargument'))Traceback(mostrecentcalllast):File......
  • 几行python代码完美操控手机
    最近一直成谜于python代码带来的便利,今天打算学习下用python代码来控制操作手机,首先需要利用adb,通过安卓调试桥来达到目的,其实也可以用appium来实现,不过appium多数用在自动......
  • 登峰造极,师出造化,Pytorch人工智能AI图像增强框架ControlNet绘画实践,基于Python3.10
    人工智能太疯狂,传统劳动力和内容创作平台被AI枪毙,弃尸尘埃。并非空穴来风,也不是危言耸听,人工智能AI图像增强框架ControlNet正在疯狂地改写绘画艺术的发展进程,你问我绘画行......
  • python学习1
    importpandasaspdimportnumpyasnpcatering_sale='D:\大三下\大数据实验课\data\catering_sale.xls'data=pd.read_excel(catering_sale,names=['data','sale'])......
  • Python中如何读取npy、npz文件?
    npy以及npz这两种文件格式,是python第三方库numpy才能够保存和读取的文件类型,而也只有通过该库才有方法来完成读取保存操作。下面这篇文章所要介绍的内容就是,python读取和保......