数据可视化在机器学习和数据科学中是很重要的组成部分。在数据分析阶段,数据可视化能够帮助我们理解洞察数据间关系;在算法调试阶段,数据可视化能够发现问题,优化算法;在项目总结阶段,数据可视化能够展示项目成果。
Matplotlib是绘制图表的第三方库,可以快速方便地生成高质量的图表,包括直方图,柱形图,散点图,气泡图,折线图,三维图等。
●安装Matplotlib库
Anaconda :安装了anaconda之后,Matplotlib就已经被安装好了
pip安装(如果使用其他Python程序)
pip install matplotlib
●导入Matplotlib库中的pyplot子库(这里为方便使用使用plt作为前缀)
import matplotlib.pyplot as plt
在pyplot中使用figure对象进行画图,他相当于一张画布,因此需要先创建对象
figure( num,figsize,dpi,facecolor,edgecolor,frameon)
★num :图形编号(数字)或名称(字符串),取值为数字/字符串
★figsize : 绘图对象的宽和高,单位为英寸
★dpi :绘图对象的分辨率,缺省值为80
★facecolor :背景颜色。
★edgecolor :边框颜色。
★frameon :表示是否显示边框。
●Figure对象-一划 分子图
subplot(行数,列数,子图序号)
●设置中文字体(中文)
plt.rcParams [" font.sans-serif" ] = "SimHei"
●恢复标准默认配置
plt.rcdefaults( )
●添加标题
★添加全局标题
suptitle (标题文字)
★添加子标题
title (标题文字)
注意:为避免重叠,使用tight_ layout()函数,其作用是检查坐标轴标签、刻度标签、和子图标题,自动调整子图,使之填充整个绘图区域,并消除子图之间的重叠。
●散点图(Scatter)是数据点在直角坐标系中的分布图,用来分析原始数据分布的规律以及数据变化的趋势。同时还可以数据分组,指的是在散点图中可以通过不同的颜色来划分组别。
★scatter( )函数
scatter( x, y, scale, color, marker, label)
★设置字体
★根据需要生成坐标(例如:标准正态分布)
n=1024
x = np.random.normal(0,1,n)
y = np.random.normal(0,1,n)
★绘制散点图
plt.scatter(x, y, color="blue",marker='*')
★设置标题
plt.title("标准正态分布",fontsize=20)
★text()函数,添加文字
text( x, y, s, fontsize,color )
★坐标轴设置
为消除坐标因中文出现负号添加如下函数
plt.rcParams[" axes.unicode minus"] = False
xlabel( x, y, s, fontsize,color) 设置x轴标签
ylabel( x, y, s, fontsize,color)设置y轴标签
xlim(xmin, xmax)设置x轴坐标的范围
ylim(ymin, ymax)设置y轴坐标的范围
tick_ params(labelsize)设置刻度文字的字号
★增加图例
scatter( x, y, scale, color, marker, label)|
legend(loc, fontsize)
●例子
import matplotlib. pyplot as plt
import numpy as np
plt . rcParams['font.sans-serif']=" SimHei"
plt. rcParams ' axes.unicode_minus']=False
n =1024
x1=np.random.normal(0,1,n)
y1=np.random.norma1(0,1,n)
x2=np.random.uniform(-4,4,(1,n))
y2=np.random.uniform(-4,4,(1,n))
plt.scatter(x1,y1,color="blue",marker=家,label="正态分布" )
plt.scatter(x2,y2,color= "yellow",marker='o',label="均匀分布" )
p1t.legend( )
p1t.title("标准正态分布,fontsize=20 )
plt.xlim()
plt.ylim()
●折线图(Line Chart) 其实是散点图的基础上,将相邻的点用线段相连接。通过plot()函数绘制。
plot( x, y, color, marker, label, linewidth, markersize)
●柱状图(Bar Chart)是由一系列高度不等的柱形条纹表示数据分布的情况。
bar( left, height, width, facecolor, edgecolor, label )
●绘图样式资料
Matplotlib官网
http:// matplotlib.org
https://matplotlib.org/genindex.html
Gallery页面
https://matplotlib.org/gallery.html
文章浏览阅读939次,点赞30次,收藏16次。函数的传值调用,函数传调用,函数递归,斐波那契数的递归和非递归的实现方式。
文章浏览阅读434次。周志华的《机器学习》算作一本入门的宝书。本文是对周志华的机器学习第五章神经网络的学习笔记。在第五章主要涉及的内容:神经网络、常见激活函数、感知机、多层前馈神经网络 、反向传播算法(BP算法)、全局最小和局部极小、其他神经网络(RBF、ART、SOM等网络)、递归神经网络(如Boltzmann机、Elman网络)。如果哪里有不对的地方,请不吝指点!一、什么是神经网络? 关于神经网络的定义有很多,本文对于神经网络的定义:神经网络是由具有适应性的简单单元(实际上是神经元)组成的广泛并且互联..._(1)请参考下面的参考资料(来自周志华教程),对一个最简单的三层神经网络(一个隐含
文章浏览阅读531次。利用HTML常用标签,CSS常用属性,JS入门语法制作一个3D旋转相册part one完成《个人相册》项目登录页面代码如下:_动感立体旋转相册制作
文章浏览阅读375次。mysql_ln -s full-path-to-mysql-version-os mysql
文章浏览阅读636次,点赞3次,收藏4次。二进制转八进制,十六进制;二进制转十进制,N进制转十进制,十进制转二进制,十进制转N进制_八进制转十六进制
文章浏览阅读1.5w次。异常信息:java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectWriter.forType(Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/ObjectWriter; at org.springframew_java.lang.nosuchmethoderror: com.fasterxml.jackson.databind.objectmapper.act
文章浏览阅读713次,点赞7次,收藏13次。NR中的时隙内的OFDM符号被分为"downlink"(表示为D)、“flexible”(表示为X)或"uplink"(表示为D)。2.5ms双周期帧结构,每5ms里面包含5个全下行时隙,三个全上行时隙和两个特殊时隙。5G NR中,依然采用一帧10ms,并将一帧分为10子帧,每个子帧为1ms。每个子帧包含几个时隙(slot),每个时隙由14个OFDM符号构成(在常规CP下)。-不再沿用LTE的固定帧结构方式,而是采用半静态无线资源控制(RRC)配置和动态下行控制信息(DCI)配置相结合的方式进行灵活配置;_时隙配比大唐杯
文章浏览阅读2.9k次。从 iPhone 中删除照片可能会带来压力。以下是如何使用几种不同的方法从 iPhone 恢复最近删除的照片。运气好的话,如果照片没有被新数据覆盖,您可以取回照片。方法 1. 使用iPhone照片恢复工具方法 2. 没有软件的情况下方法 3. 从 iPhone 备份方法 4. 从 iTunes 备份方法 5。 从 iCloud 备份_ios删除的照片怎么找回 csdn
文章浏览阅读935次。Java中除去有设计原则之外,还有23中设计模式。这些模式都是前辈们一点一点积累下来,一直在改进,一直在优化的,而这些设计模式可以解决一些特定的问题。并且在这些模式中,可以说是将语言的使用体现的淋漓尽致。那我们今天要学习行为型模式中的迭代器模式 !迭代器模式先来百科一下,什么是迭代器模式这个其实和我们在遍历 List、Set集合时候使用的迭代器类似,我们在不暴露对象的内部,就可以遍历该集合模式的定义与特点迭代器(Iterator)模式的定义:提供一个对象来顺...
文章浏览阅读708次。 My97 DatePicker最新版本: 4.0 Release 2008-05-30在线演示Blog1: CnblogsBlog2: CSDN 技术支持下载官网[修正]被其他页面引入时,有跨域错误的问题[修正]平面显示时,点击其他地方下拉框不会自动消失[修正]平面模式在多框架情况下跳转时有时不显示的问题[修正]在极少数的情况下,由于预载失败导致选择框不能弹出的问题_my97datepicker源码 js
文章浏览阅读1k次,点赞9次,收藏12次。(2)正确做法是重命名 lockset 开头的文件,上图只找到locksettings.db文件,因此重命名该文件即可;(1)遇到这种情况说明模拟器自带的 adb.exe 程序不兼容,需要替换为android sdk自带的adb.exe;命令删除所有key文件,如上图蓝框内容,没找到key文件,如果有对应key文件直接删除也会有其他错误出现;(1)所在文件夹的路径中,清除路径内容,输入。(1)很多转载文要求,进入。_雷电模拟器突然有密码解锁
文章浏览阅读283次。深度重构和完善ASP.NET Core WEB API应用程序代码 (Deep refactoring and refinement of ASP.NET Core WEB API application code) 介绍 (Introduction)Part 1. Creating a test RESTful WEB API application. 第1部分。创建一个测试RESTf..._netco加速