看了莫烦大佬的视频,做下笔记

目录

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相关推荐

  1. 机器学习入门学习笔记:(3.2)ID3决策树程序实现

    前言 之前的博客中介绍了决策树算法的原理并进行了数学推导(机器学习入门学习笔记:(3.1)决策树算法).决策树的原理相对简单,决策树算法有:ID3,C4.5,CART等算法.接下来将对ID3决策树算法 ...

  2. 【莫烦Python】Matplotlib学习笔记(二)

    [莫烦Python]Matplot学习笔记(一) [莫烦Python]Matplotlib学习笔记(二) 一.Bar柱状图/条形图 二.Contours等高线图 三.Image图像 四.3D图像 五. ...

  3. 【转载】R语言与数据挖掘学习笔记

    (1):数据挖掘相关包的介绍 今天发现一个很不错的博客(http://www.RDataMining.com),博主致力于研究R语言在数据挖掘方面的应用,正好近期很想系统的学习一下R语言和数据挖掘的整 ...

  4. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  5. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  6. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  7. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  8. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  9. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

最新文章

  1. SAP Fiori Elements - how is sap-label annotation inserted to odata request
  2. python概念英文版_python重要概念
  3. python后端技术栈_Python后端技术栈(三)--设计模式
  4. php表单提交邮箱_最全实现dede订单表单提交发送到指定邮箱(附前台设置)
  5. 并查集——团伙(洛谷 P1892)
  6. python集合常用方法_Python 集合常用方法总结
  7. Ubunbu新建的用户使用SecureCrt无法Table补全、无法高亮
  8. Leetcode 304.二维区域和检索-矩阵不可变
  9. Python(八):条件与循环
  10. Info.plist信息
  11. mysql中的rman备份与恢复_使用RMAN备份与恢复数据库
  12. php解析酷狗音乐,PHP_将酷狗krc歌词解析并转换为lrc歌词php源码,最近在进行一次对酷狗音乐歌 - phpStudy...
  13. yolov5s-6.0网络模型结构图
  14. linux单引号作用,linux中单引号、双引号、反引号的作用
  15. ACM中关于Output Limit Exceeded和Time Limit Exceeded
  16. 回收站删除的文件怎么恢复?
  17. 电脑文件剪切拷贝后丢失如何找回?分享文件丢失恢复办法!
  18. 【Hive】left semi join(exists、in)和 left join 区别
  19. 认识哈希函数和哈希表
  20. 数据库学习笔记04——关系数据库2

热门文章

  1. 申请linux邮件列表
  2. 4g网络慢的原因和解决
  3. 交通标志及信号灯(红绿灯)标注数据集
  4. 发展计算机模拟阵法的小说,关于大刘小说里多次提到的模拟宇宙演变的计算机程序@各种工科生~...
  5. Winform圆形环绕的Loading动画
  6. android 资产管理动图,这可能是你见过的迄今为止最简单的RecyclerView Item加载动画...
  7. 九天毕昇训练yoloV5,50小时免费的v100
  8. 第4关:字符串中各类字符数的统计-------C语言程序设计技术(循环结构程序设计1)
  9. pynput使用鼠标时坐标不对解决办法
  10. 正厚软件 | App测试面试题及参考答案