Matplotlib实现subplot和subplots简单对比

前言:

大家一般都知道subplot可以画子图,但是subplots也可以画子图,鉴于subplots介绍比较少,这里做一个对比,两者没有功能一致。

对比开始:

需求:画出两张子图,在一行显示,子图中的内容一模一样

subplot代码:

ax1 = plt.subplot(1,2,1)
ax1.scatter(positive['X1'], positive['X2'], s=50, marker='x', label='Positive')
ax1.scatter(negative['X1'], negative['X2'], s=50, marker='o', label='Negative')
ax1.legend()#添加图列就是右上角的点说明
ax2 = plt.subplot(1,2,2)
ax2.scatter(positive['X1'], positive['X2'], s=50, marker='x', label='Positive')
ax2.scatter(negative['X1'], negative['X2'], s=50, marker='o', label='Negative')
ax2.legend()#添加图列就是右上角的点说明

subplots代码

fig, ax = plt.subplots(figsize=(12,8),ncols=2,nrows=1)#该方法会返回画图对象和坐标对象ax,figsize是设置子图长宽(1200,800)
ax[0].scatter(positive['X1'], positive['X2'], s=50, marker='x', label='Positive')
ax[0].scatter(negative['X1'], negative['X2'], s=50, marker='o', label='Negative')
ax[0].legend()#添加图列就是右上角的点说明
ax[1].scatter(positive['X1'], positive['X2'], s=50, marker='x', label='Positive')
ax[1].scatter(negative['X1'], negative['X2'], s=50, marker='o', label='Negative')
ax[1].legend()#添加图列就是右上角的点说明

对比结果:

可以看出来两者都可以实现画子图功能,只不过subplots帮我们把画板规划好了,返回一个坐标数组对象,而subplot每次只能返回一个坐标对象,subplots可以直接指定画板的大小。

参考博客:Matplotlib的子图subplot的使用

参考博客:subplots与figure函数参数解释说明以及简单的使用脚本实例

到此这篇关于Matplotlib实现subplot和subplots简单对比的文章就介绍到这了,更多相关Matplotlib subplot和subplots内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • matplotlib subplots 设置总图的标题方法

    如下所示: matplotlib subplots 设置总图的标题 : fig.suptitle(dname,fontsize=16,x=0.53,y=1.05,) 以上这篇matplotlib subplots 设置总图的标题方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • matplotlib subplots 调整子图间矩的实例

    在matplotlib中,用subplots画子图时,有时候需要调整子图间矩,包括子图与边框的间矩,子图间上下间矩,子图间左右间矩,可以使用fig.tight_layout()函数: Help on method tight_layout in module matplotlib.figure: tight_layout(renderer=None, pad=1.08, h_pad=None, w_pad=None, rect=None) method of matplotlib.figure.

  • Matplotlib 生成不同大小的subplots实例

    在Matplotlib实际使用中会有生成不同大小subplots的需求. import numpy as np import matplotlib.pyplot as plt from matplotlib import gridspec x = np.arange(0, 10, 0.2) y = np.sin(x) fig = plt.figure(figsize=(8, 6)) gs = gridspec.GridSpec(1, 2, width_ratios=[3, 1]) ax0 = p

  • Matplotlib实现subplot和subplots简单对比

    前言: 大家一般都知道subplot可以画子图,但是subplots也可以画子图,鉴于subplots介绍比较少,这里做一个对比,两者没有功能一致. 对比开始: 需求:画出两张子图,在一行显示,子图中的内容一模一样 subplot代码: ax1 = plt.subplot(1,2,1) ax1.scatter(positive['X1'], positive['X2'], s=50, marker='x', label='Positive') ax1.scatter(negative['X1']

  • 浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头

    在使用pyplot画图的时候,有时会需要在图上标注一些文字,如果曲线靠的比较近,最好还能用箭头指出标注文字和曲线的对应关系.这里就介绍文字标注和箭头的使用. 添加标注使用pyplot.text,由pyplot或者subplot调用.下面是可以选择的参数, text(tx,ty,fontsize=fs,verticalalignment=va,horizontalalignment=ha,...) 其中,tx和ty指定放置文字的位置,va和ha指定对其方式,可以是top,bottom,center

  • 浅谈Linux vfork与fork简单对比分析

    本文分享了Linux vfork与fork简单对比分析,分享给大家,具体如下: fork相关问题: 一.fork基础了解 fork作用为创建一个子进程,在使用了fork命令后,内核会分配新的内存块和数据结构给子进程,并且将父进程的部分数据结构内容拷贝到子进程,最后再将子进程添加到系统进程列表中,添加完成后fork返回,开始调度. 头文件:#include < unistd.h > 函数原型:pid_t fork( ) 返回值:返回值大于0则当前进程为父进程,等于0代表为子进程,小于零代表创建子

  • 简单对比分析Ruby on Rails 和 Laravel

    在线web应用程序开发目前有许多正流行的框架.  也有许多不同类型的框架,比如那些拥有大量插件,可以让你更加快速的迭代 (比如 Rails),或者还有其它非常简单和低级别的 (比如 Flask). web应用程序开发中两个相对而言更加流行的框架是 Ruby on Rails 和 Laravel.  它们两个都是非常成熟的项目,已经面世相当长一段时间了 .  Ruby on Rails 在2005年12月被引入,而 Laravel 则是2012年2月 . 如上所示的第一次发布的时间, Larave

  • Swift与Objective C的简单对比

    现在Swift和Objective C的竞争正在飞快加剧. 这是很容易理解的,因为他们都有各自的好处,一些开发人员对对如何选择一个适合项目的编程语言产生了困惑. 首先,这两者之间的选择是没有严格的答案.在做出选择之前,要考虑很多事情,包括各种因素和特征.各自缺点和优点. 因此,这里做一个概述,以客观展示双方之间的差异和利弊,因为我们认为明智的做法是选择根据是否适合自己的开发团队和具体项目进行选择. 管理考虑 第一个考虑是根据特定团队选择.即使Swift通常被称为更简单,更平滑的语法语言,它消除了

  • 简单对比C#程序中的单线程与多线程设计

    多线程概念 1.一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括多个线程.线程是操作系统分配处理器时间的基本单位 2.应用程序域是指进行错误隔离和安全隔离,在CLR中运行,每个程序域都是单个线程启动,但该程序域中的代码可以创建附加应用程序域和附加线程 3.多线程的优点在于一个线程阻塞的时候,CUP可以运行其他的线程而不需要等待,这样大大的提高了程序的执行效率.而缺点在于线程需要占用内存,线程越多占用的内存就多,多线程需要协调和管理,所以需要占用CPU时间以便跟踪线程,线程之间对共享

  • 简单对比C语言中的fputs()函数和fputc()函数

    C语言fputc()函数:写文件函数(将一指定字符写入文件流中) 头文件: #include <stdio.h> 定义函数: int fputc(int c, FILE * stream); 函数说明:fputc 会将参数c 转为unsigned char 后写入参数stream 指定的文件中. 返回值:fputc()会返回写入成功的字符, 即参数c. 若返回EOF 则代表写入失败. 范例 #include <stdio.h> main() { FILE * fp; char a[

  • 简单对比分析JavaScript中的apply,call与this的使用

    1.apply定义 apply:调用函数,并用指定对象替换函数的 this 值,同时用指定数组替换函数的参数. 语法:apply([thisObj[,argArray]]) thisObj 可选.要用作 this 对象的对象. argArray 可选.要传递到函数的一组参数. 2.call定义 call:调用一个对象的方法,用另一个对象替换当前对象. 语法:call([thisObj[, arg1[, arg2[, [, argN]]]]]) thisObj 可选.将作为当前对象使用的对象. a

  • matplotlib.subplot()画子图并共享y坐标轴的方法

    有时候想要把几张图放在一起plot,比较好对比,subplot和subplots都可以实现,具体对比可以查看参考博文.这里用matplotlib库的subplot来举个栗子. 数据长什么样 有两个数据段,第一个数据是DataFrame类型,第二个是ndarray类型.每个数据都有3列,我想画1*3的折线子图,第一个数据的第n列和第二个数据的第n列画在一张子图上.先来看一下两个数据长什么样儿(为显示方便,只看前5行). In [1]: testing_set.head() # DataFrame类

随机推荐