学习笔记-matplot
看了莫烦大佬的视频,做下笔记
目录
1.基本用法
1.1 绘制直线
1.2 创建一个figure
1.3 对坐标轴的操作
1.4 在图中添加注释
2 各种图的绘制
2.1 散点图
2.2 柱状图
2.3 3D图
3 多图显示
4 img图像显示
1.基本用法
用之前先安装matplot,安装好之后我们导入包。
import matplotlib.pyplot as plt
最后要显示的时候不要忘了plt.show()
1.1 绘制直线
plt.plot()
常用参数:x, y, [fmt]
x,y,对应你画的直线的数据,fmt用于修改直线的format样式,可以修改直线的 color, maker,linestyle。比如 ‘bo--’ ,就会画出一个蓝色的圆形虚线。
plt.plot(x,y1,'bo--',x,y2,'gh:',x,y3) #同时画出了三条线
#也可以单独赋值
plt.plot(x,y1,color = 'red')
1.2 创建一个figure
plt.figure()
功能:创建一个画图
常用参数:num, figsize
num 给figure编号,figsizie调节大小。
可以同时画多个figure,每个figure只对自己下面的操作感应,以下一个figure为边界。
plt.figure(num = 3,figsize= (10,8))
1.3 对坐标轴的操作
plt.xlim() 和 plt.ylim()
功能:控制坐标轴的长度
plt.xlim(left = -10,right = 10) #横坐标从-10 到10
plt.ylim(bottom = -10 , top = 10) #纵坐标从-10 到10
plt.xlabel() 和 plt.ylabel()
功能:更改标签名,可以配置字体样式,
plt.xlabel('x label')
plt.ylabel('y label')
plt.xticks() 和 plt.ytick()
功能:更改坐标轴上的记号点
plt.xticks(x,label,color = 'green',rotation=60)
plt.yticks(y1,label1,color = 'green',rotation=60)
plt.gca()
功能:get current axis ,返回一个ax,可以通过这个改图标的边框属性
ax = plt.gca()
ax.spines['right'].set_color('red')
ax.spines['left'].set_color('blue')
ax.spines['top'].set_color('yellow')
ax.spines['bottom'].set_color('none')
效果:
plt中没有默认的x,y轴,我们可以自己设置,
ax.xaxis.set_ticks_position('bottom') #设置bottom 为x轴
ax.yaxis.set_ticks_position('left') #设置left 为y轴
使用时,要先做好tick,在设置我们的x轴和y轴,才可以更改轴的位置
import matplotlib.pyplot as plt
import numpy as np
label = ['a', 'b','c','d','e']
label1 = ['very good','good','nomal','bad','very bad']x = np.linspace(1,10,10)
y1 = x*2 + 1
plt.figure()
ax = plt.gca()
plt.xticks(x)
plt.yticks(y1,label1+label,color = 'green',rotation=60)
ax.xaxis.set_ticks_position('bottom') #设置bottom 为x轴
ax.yaxis.set_ticks_position('left') #设置left 为y轴
ax.spines['bottom'].set_position(('data', 3)) #'data' 表示跟着数据来定
ax.spines['left'].set_position(('data', 1)) #也有'axes' ,表示在轴的百分之几
plt.show()
效果:
1.4 在图中添加注释
plt.text()
功能:文本注释
plt.text(x,y,'文字',ha ='center',va ='top')
plt.legend()
功能:画一个小框框来对解释线。
在plt.plot中会有返回值,我们取第一个值为legend需要的handls,代码如下
l1, = plt.plot(x,y1,'g--')
l2, = plt.plot(x,y2,'ro:')
plt.legend(handles = [l1,l2,] , labels = ['a','b'],loc = 'best')
效果:
plt.annotate()
功能:画一个箭头注释
第一个参数是你的文本,xy= ( )点的位置,xycoords配置你的箭头位置模式,
textcoords文本位置模式,fontsize字体大小,arrowprops配置箭头的format
plt.annotate(r'2x+1=%s' % y0, xy=(x0,y0),xycoords = 'data',textcoords ='offset points',fontsize = 16, arrowprops = dict(arrowstyle = '->', connectionstyle = 'arc3,rad = 2'))
效果:
2 各种图的绘制
2.1 散点图
plt.scatter()
功能:画点的,多几个点就是散点图了
n = 512
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)
T = np.arctan2(Y,X) #只是用来给点配置一些颜色plt.scatter(X,Y,s=50,c=T,alpha=0.5)
plt.xticks(()) #什么都不显示
plt.yticks(())
plt.show()
效果:
2.2 柱状图
plt.bar()
很简单,看下面例子就差不多了
X = np.arange(10)
Y = X*np.random.uniform(0,1)
plt.bar(X,Y,facecolor = '#9999ff',edgecolor = 'black')
for x,y in zip(X,Y):plt.text(x,y+0.3,'%.2f'%y,ha = 'center',va = 'top')
plt.show()
效果:
2.3 3D图
3 多图显示
plt.subplot()
plt.subplot(2,2,1)两行两列的第一个位置
plt.figure()
plt.subplot(2,2,1)
plt.plot([0,1],[1,0])
plt.subplot(2,2,2)
plt.subplot(2,2,3)
plt.subplot(2,2,4)
plt.show()
也可以在第一行的两个位置,用来显示一个图
plt.figure()
plt.subplot(2,1,1)
plt.plot([0,1],[1,0])
plt.subplot(2,2,3)
plt.subplot(2,2,4)
plt.show()
效果:
plt.subplot2grid(shape,origin,colspan,rowspan)
功能:据网格来画图
shape大小,origin该图起点,colspan花费多少的列,rowspan多少的行
plt.figure()
ax1 = plt.subplot2grid((3,3),(0,0),colspan=3,rowspan=1)
ax2 = plt.subplot2grid((3,3),(1,0),colspan=2)
ax3 = plt.subplot2grid((3,3),(1,2),rowspan=2)
ax4 = plt.subplot2grid((3,3),(2,0))
ax5 = plt.subplot2grid((3,3),(2,1))plt.show()
效果:
plt.subplots()
感觉用的比较少这个,根据返回的坐标系ax,调用plot就可以画图了,也可以配置坐标系的参数。
ax1.twinx()
功能:在一个图里,画直线,用不同的y轴
x = np.arange(0,10,0.1)
y1 = 0.1*x**2
y2 = -0.1*x**2fig,ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(x,y1,'g-')
ax2.plot(x,y2,'ro-')plt.show()
4 img图像显示
plt.imshow()
在里面放入数据就好,可以是narray的数据,格式为[h , w ,C] ,h高,w宽,C颜色通道
要想同时显示几张图,可以和plt.subplot一起用。
plt.figure()
for i in range(1,4)plt.subplot(2,2,i)plt.imshow(imgdata[i]) #[h , w, c]plt.xticks(()) #去除ticksplt.yticks(())
plt.show()
学习笔记-matplot相关推荐
- 机器学习入门学习笔记:(3.2)ID3决策树程序实现
前言 之前的博客中介绍了决策树算法的原理并进行了数学推导(机器学习入门学习笔记:(3.1)决策树算法).决策树的原理相对简单,决策树算法有:ID3,C4.5,CART等算法.接下来将对ID3决策树算法 ...
- 【莫烦Python】Matplotlib学习笔记(二)
[莫烦Python]Matplot学习笔记(一) [莫烦Python]Matplotlib学习笔记(二) 一.Bar柱状图/条形图 二.Contours等高线图 三.Image图像 四.3D图像 五. ...
- 【转载】R语言与数据挖掘学习笔记
(1):数据挖掘相关包的介绍 今天发现一个很不错的博客(http://www.RDataMining.com),博主致力于研究R语言在数据挖掘方面的应用,正好近期很想系统的学习一下R语言和数据挖掘的整 ...
- PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call
您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...
- 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 2020年Yann Lecun深度学习笔记(下)
2020年Yann Lecun深度学习笔记(下)
- 2020年Yann Lecun深度学习笔记(上)
2020年Yann Lecun深度学习笔记(上)
- 知识图谱学习笔记(1)
知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...
最新文章
- SAP Fiori Elements - how is sap-label annotation inserted to odata request
- python概念英文版_python重要概念
- python后端技术栈_Python后端技术栈(三)--设计模式
- php表单提交邮箱_最全实现dede订单表单提交发送到指定邮箱(附前台设置)
- 并查集——团伙(洛谷 P1892)
- python集合常用方法_Python 集合常用方法总结
- Ubunbu新建的用户使用SecureCrt无法Table补全、无法高亮
- Leetcode 304.二维区域和检索-矩阵不可变
- Python(八):条件与循环
- Info.plist信息
- mysql中的rman备份与恢复_使用RMAN备份与恢复数据库
- php解析酷狗音乐,PHP_将酷狗krc歌词解析并转换为lrc歌词php源码,最近在进行一次对酷狗音乐歌 - phpStudy...
- yolov5s-6.0网络模型结构图
- linux单引号作用,linux中单引号、双引号、反引号的作用
- ACM中关于Output Limit Exceeded和Time Limit Exceeded
- 回收站删除的文件怎么恢复?
- 电脑文件剪切拷贝后丢失如何找回?分享文件丢失恢复办法!
- 【Hive】left semi join(exists、in)和 left join 区别
- 认识哈希函数和哈希表
- 数据库学习笔记04——关系数据库2
热门文章
- 申请linux邮件列表
- 4g网络慢的原因和解决
- 交通标志及信号灯(红绿灯)标注数据集
- 发展计算机模拟阵法的小说,关于大刘小说里多次提到的模拟宇宙演变的计算机程序@各种工科生~...
- Winform圆形环绕的Loading动画
- android 资产管理动图,这可能是你见过的迄今为止最简单的RecyclerView Item加载动画...
- 九天毕昇训练yoloV5,50小时免费的v100
- 第4关:字符串中各类字符数的统计-------C语言程序设计技术(循环结构程序设计1)
- pynput使用鼠标时坐标不对解决办法
- 正厚软件 | App测试面试题及参考答案