6、数据分析matplotlib

公司的领导喜欢看到可视化的数据,特别是一眼明了,清晰明确的。

matplotlib是matlab的一个python版本,但是他比matlab的图面效果要强大和操作门槛更高,而且还免费

scipy库包括numpy、pandas和matplotlib等

有不懂的函数使用的时候,可以print(help(plt.函数)),函数后不带括号

导入:Import matplotlib.pyplot as plt

plt.plot(x, y)

​ 有多个x,y(至少两个以上才能成线),绘制折线图 x为所有样本点的x轴坐标,y为所有样本点y轴坐标

​ plt.plot(2,5)只是一个点,plt.plot(【2,5】,【5,9】),x,y必须是列表形式

​ plot绘制的时候,可以省略X坐标,默认使用np.arange(n)传递进行排列,有多少个x或y就是有多少个n

plt.show() 显示图像

上面的情况,不能查看数据信息中的一些关键值,可以使用以下操作来处理

1、可以使用工具运行

2、%matplotlib (老版本的后面要加tk)

​ 执行后,图框直接脱离代码页面,生成一个新页面来打开,里面可以进行其他操作

​ 想要进行可视化效果,就必须使用show来进行处理

​ 这里的关键值有边框宽度,偏左偏右(跟调前端页面相似)等等。都是可以使用这个方式来打开进行操作

​ 里面的存储功能可以保存好数据分析出来的内容

基本操作:

​ 折线基础绘制:

​ plot()方法可以进行多数据传参

​ plot(x1,y1,x2,y2,x3,y3)

​ 可以将多条折线放到一张图像中显示

​ 为了实现更好的效果,可以分开执行:

​ plt.plot(x, y)

​ plt.plot(x, y)

​ plt.plot(x, y)

​ plt.show()

​ 一样可以得到和不分开时的结果

​ 在jupyter中把show函数放到分开的plot中间,会得到两部分的图。这里的show前面的plot是靠show函数执行的,后面的部分(第二张图)则是靠jupyter执行的

​ plot(y)

​ 如果只接收到一个值就默认为y值 , 而x默认为从0 到 n ,使用默认的线条样式和颜色

​ grid()显示网格线

​ 需要执行在show函数之前

格式调整:

​ plot(x,y,color=‘red’, linestyle=‘dashed’, marker='o’)

​ x,y 输入的样本点坐标值

​ color 线的颜色

​ linestyle 线的样式

​ marker 样本点的样式

​ label 线型名称

​ 比如:plt.plot([1,2,3],[1,2,3],linestyle=‘dashed’, marker=‘o’)

​ plt.plot([1,2,3],[1,2,3],‘ro–’),简写的一种方式(里面的r代表颜色,o代表点的样式,–代表线的样式)

​ plt.plot([1,2,3],[1,2,3],‘y*:.’)表示黄色,星形点和点划线的简写方式

​ 其中的点划线的样式,由于版本迭代不能使用

其他属性:

​ legend ():生成默认图例, matplotlib 中的 legend 图例就是为了帮我们展示出每个数据对应的图像名称. 更好的让读者认识到你的数据结构.

plt.plot([1,2,3],[3,2,1])
plt.plot([1,2,3],[3,1,2])
plt.legend(['c','q'])	生成图例,每个写进去的字符串都是代表对应线来表示。

​ loc (pycharm执行的是locals()函数)图例显示位置,能设置图例的位置

​ 比如:plt.legend([‘c’,‘q’],loc=‘upper right’)

​ xlabel、ylabel:设置X轴Y轴标签(给X或Y轴起名称并显示出来)

​ plt.xlabel(‘x’)

​ title:设置标题(给图片设置一个标题)

​ plt.title(‘aaaa’)

​ xlim、ylim:控制图标的范围

​ xticks、yticks: 控制图标的刻度,自带清除其他刻度信息的功能(不是自己设置的不显示)

​ plt.xticks([0,1,2],[1,2,3])把其中的0,1,2刻度换成1,2,3.(设置两个刻度那么就只显示两个,其他也会清除)

​ gca获取当前坐标轴信息。使用spines设置边框,使用set_color设置边框颜色:默认白色

​ 边框处理,将上边框去除,a=plt.gca()

​ a.spines[‘top’].set_color(‘none’)不设置颜色就相当去除了

​ 解决中文显示问题

​ plt.rcParams[‘font.sans-serif’] = ['SimHei] 设置字体格式为黑体字

​ 设置标题的时候,可以用来解决。执行之后可以得到黑体字的标题

​ plt.rcParams[‘axes.unicode_minus’] = False 使用编码格式

​ 执行后可以支持负号的显示,默认的True,这里指的负号是x,y的数值plt.plot([-1,-2,-3],[-1,-2,-3]

子图处理:

​ subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像。

​ subplot(numRows, numCols, plotNum)

​ subplot(3,3,5),这里的plotnum是一个个从左到右从上到下数的

​ numRows 一张图分为多少行

​ numCols 一张图分为多少列

​ plotNum 下面创建的图像所在的位置

​ 使用时,先设定绘图位置,再进行图像绘制,参数调整,全部内容设置完成后,使用plt.show()方法

plt.subplot(5,5,5)
plt.plot([1,2,3],[3,1,2])
plt.show()
在分好的子图内显示出图像
设置多个然后show,可以显示多个子框,但不能在同一个子图位置,比如5,5,5不能重复
多子图同时显示,可以设置不同的subplot,但显示出来的子图大小不一

​ 也可以使用Figure进行添加子图操作,并同时设置大小

散点图:

​ plt.scatter()

​ x,y 数据的坐标点

​ s 点的面积(大小)

​ c 颜色设置,默认蓝色

​ marker 散点形状

​ alpha 透明度

​ edgecolors 散点边缘颜色

​ 例子: plt.scatter([1,2,5],[4,2,6],alpha=0.2,c=‘g’,marker=’*’)

​ 如果设置了透明度,那么重合点的颜色就会深,没有重合的点颜色就会浅,一般可以用户检测样本密度时候进行使用,edgecolors(边框颜色)一般情况下,边框变颜色代表测试集数据

	作用:1、表示每个样本所在的位置

​ 2、表示每个样本分布的密度

条形图:(样本数值可视化)

​ 条形图绘制:plt.bar(x, y, alpha=0.8, color=color)

​ x,y 数据的横纵坐标,列表形式,有多少个x或y就有多少条

​ alpha 样式透明度

​ color 条形图的颜色,可以是列表,给每一个图

​ 例子:plt.bar([1,2],[3,5],color=[‘r’,‘g’]),每个颜色都有顺序的对应每个条形数据

​ width宽度设置一般一刻度数为参考

​ 用xticks函数把刻度改成指定名称,就可以把对应的条形数据表示成某个名称对应的数据了

​ 横向条形图绘制:plt.barh(x, y)

​ 操作和纵向的一样,只是函数的单词多个h

直方图:(反映各个数据的多少)

​ 直方图描述了数据中某个范围内数据出现的频度。【直方图的参数只有一个x,不像条形图需要传

入x,y】。

​ plt.hist()

​ bins:可以使一个bin数量的整数值,也可以使表示bin的一个序列,默认值为10

​ normed:如果值是True,直方图的值将进行归一化处理,形成概率密度,默认值时False

​ color:指定直方图的颜色,可以使单一颜色值或颜色的序列。如果指定了多个数据集合,颜色序列将会

​ 设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色

​ orientation:通过设置orientation为horizontal创建水平直方图,默认值为vertical

​ 例子:x=【5,7,8,9,3,5,2】

​ plt.hist(x,align=‘left’)

​ plt.show()

​ 新版本的normed已经被density替代了,概率密度是连续值数据使用的方式,这里看不出来效果,一般调整bin来显示某块区域的密度大小

饼状图:(类别分析,数据分析)

​ 饼状图通常用来表达集合中各个部分的百分比,【饼图也只有一个参数x!】pie()饼图适合展示各部分占总体的比例,条形图适合比较各部分的大小

​ plt.pie()(只能放一个对象,有多个数值必须用列表形式)

​ 普通各部分占满饼图、普通未占满饼图,饼图阴影、分裂等属性设置:

​ label 参数设置每一块的标签;labeldistance参数设置标签距离圆心的距离(比例值)

​ autopct 参数设置比例值的显示格式(%1.1f%%);, 两个百分号是输出%自身,和C类似(源码作用赋予)

​ pctdistance参数设置比例值文字距离圆心的距离

​ explode 参数设置每一块顶点距圆形的长度(比例值);

​ color参数设置每一块的颜色

​ shadow 参数为布尔值,设置是否绘制阴影

​ startangle 设置旋转角度

​ 例子:plt.pie(【1,4,5】),然后按照比例分

​ plt.pie([0.7,0.1,0.1])如果数值按照小数方式表达,那么数值就是他的比例,因为总和为0.9,所以图形中就会出现一小块的缺失值,小数是按1来分的

​ plt.pie([0.7,0.1,0.1],color=【‘r’,‘g’】,label =[‘wadaw’,‘aw集中’])还可以加入labeldistance来设置标签偏离距离

​ 图像炸裂:(调整各个饼块数据图像偏离圆心的距离)

​ plt.pie([0.7,0.1,0.1],explode=【0,0,0.3】)这里表示第一第二块不动,第三块远离值为0.3

​ 可以设置某个小切片的炸裂效果,添加shadow=True可以设置阴影(每一块饼下面加一层阴影)

已标记关键词 清除标记
相关推荐
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除,从账户中取出amt,如果amt>账户余额抛出异常,一个实体Bean可以表示不同的数据实例,我们应该通过主键来判断删除哪个数据实例…… ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程接口的引用,用远程接口的引用访问EJB。 EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,但是它的主要作用是供程序使用的。本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密   Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。   设定字符串为“张三,你好,我是李四”   产生张三的密钥对(keyPairZhang)   张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节   通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 同上 java聊天室 2个目标文件,简单。 java模拟掷骰子2个 1个目标文件,输出演示。 java凭图游戏 一个目标文件,简单。 java求一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥   Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥。 Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输   Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲
©️2020 CSDN 皮肤主题: 我行我“速” 设计师:Amelia_0503 返回首页