matplotlib 操作子图(subplot,axes)
Matplotlib 中文用户指南 3.3 使用 GridSpec 自定义子图位置
- ax:matplotlib.axes._subplots.AxesSubplot,的基本操作
ax.set_xticks([]), ax_set_yticks([]):关闭坐标刻度ax.axis('off'):关闭坐标轴ax.set_title():设置标题
1. subplots
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))
ax[0].plot(...)
ax[0].set_xlabel(...)
ax[0].set_title(...)
ax[1].plot(...)
ax[1].set_xlabel(...)
...
fig, (ax1, ax2, ax3) = plt.subplots(3, 1, sharex=True)
更一般的做法(也是matlab的风格)是这样的:
fig = plt.figure() # 创建一个figure对象,底下的一切显示均在此figure上完成
plt.subplot(121)
plt.imshow(img1)
plt.subplot(122)
plt.imshow(img2)
plt.show()
# 当然放在一个range里边
for i in range(ndim):
plt.subplot(ndim//5, 5, i+1)
plt.hist()
2. subplot2grid
subplot2grid
# 以下两条语句等价 ax = plt.subplot2grid((2,2),(0, 0))
ax = plt.subplot(221) # 下标从 0 开始- colspan、rowspan 与 索引的对应关系
import matplotlib.pyplot as plt def disable_axis(ax):
ax.set_xticks([])
ax.set_yticks([])
# ax.axis('off') def set_title(ax, title):
ax.set_title(title) def subplot2grid_demo():
ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=2)
disable_axis(ax1)
set_title(ax1, 'ax1')
ax2 = plt.subplot2grid((3, 3), (1, 0))
disable_axis(ax2)
set_title(ax2, 'ax2')
ax3 = plt.subplot2grid((3, 3), (1, 1))
disable_axis(ax3)
set_title(ax3, 'ax3')
ax4 = plt.subplot2grid((3, 3), (0, 2), rowspan=2)
disable_axis(ax4)
set_title(ax4, 'ax4')
ax5 = plt.subplot2grid((3, 3), (2, 0), colspan=3)
disable_axis(ax5)
set_title(ax5, 'ax5')
# plt.xticks([])
# plt.yticks([])
# plt.axis('off')
plt.show() if __name__ == '__main__':
subplot2grid_demo()
3. GridSpec:方便的切片操作
GridSpec 提供了十分方便的切片操作,实现上述功能,则只需如下代码:
def gridspec_demo():
gs = gridspec.GridSpec(3, 3)
ax1 = plt.subplot(gs[0, :2])
ax2 = plt.subplot(gs[1, 0])
ax3 = plt.subplot(gs[1, 1])
ax4 = plt.subplot(gs[0:2, 2])
ax5 = plt.subplot(gs[2:, :])
plt.show()
matplotlib 操作子图(subplot,axes)的更多相关文章
- (转)Matplotlib的子图subplot的使用
转:https://www.jianshu.com/p/de223a79217a 前言 Matplotlib的可以把很多张图画到一个显示界面,这就设计到面板切分成一个一个子图.这是怎么做到的呢.mat ...
- Matlab绘制子图subplot使用攻略
参考:https://jingyan.baidu.com/article/915fc414ad794b51394b20e1.html Matlab绘制子图subplot使用攻略 听语音 原创 | 浏览 ...
- matplotlib 的 subplot, axes and axis
fig = plt.figure('多图', (10, 10), dpi=80) #第一个指定窗口名称,第二个指定图片大小,创建一个figure对象 plt.subplot(222) #2*2的第二个 ...
- matplotlib ----- 多子图, subplots
这一篇讲的比较详细. http://matplotlib.org/examples/pylab_examples/subplots_demo.html 官方文档给出的subplots用法, http: ...
- matplotlib添加子图(拼图功能)
我们已经知道,matplotlib是python中的一个十分好用的作图库,它的简单的使用方法可以在之前的随笔中找到.传送门:https://www.cnblogs.com/chester-cs/p/1 ...
- matplotlib画子图时设置总标题
matplotlib subplots绘图时 设置总标题 :fig.suptitle(name)
- matplotlib调整子图大小
因为子图太多而导致每个子图很小,很密,如何调整
- matplotlib绘制子图
fig,subs = plt.subplots(2,2) subs[0][0].plot(data_math_C1) subs[0][0].set_title('C_1 曲线') subs[0][1] ...
- python使用matplotlib:subplot绘制多个子图
1 问题描述 matploglib 能够绘制出精美的图表, 有些时候, 我们希望把一组图放在一起进行比较, 有没有什么好的方法呢? matplotlib 中提供的 subplot 可以很好的解决这个问 ...
随机推荐
- hdu 1286 找新朋友 欧拉函数模版题
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Des ...
- Intel微处理器学习笔记(四) 内存分页
内存分页机制(memory paging mechanism)是从386开始的.线性地址通过分页机制透明转换为物理地址. 从这里知道:1. 如果不分页,则线性地址等于物理地址:2. 如果分页,则线性地 ...
- PHP求并集,交集,差集
PHP求并集,交集,差集 一.总结 一句话总结:在php中如果我想要对两个数组进行如并集.交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersec ...
- Android程序员眼中世界上最遥远的距离
世界上最遥远的距离,是我在if里你在else里,似乎一直相伴又永远分离: 世界上最痴心的等待,是我当case你是switch,或许永远都选不上自己: 世界上最真情的相依,是你在try我在catch. ...
- FastDFS install - 2
storage install nginx 1. update dependency package yum -y install pcre-devel openssl openssl-devel g ...
- hdu-6324-博弈
Problem F. Grab The Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Ja ...
- Leetcode 86
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...
- M爷的线段树
M爷的线段树 - BUCTOJ 3305 一个长度为n的数列A.修改m次,每次给区间[L,R]中的每一个数加X.查询k次,每次查询第i个元素的值并输出.1<=n<=1e5 ,1<=m ...
- springboot笔记(一)
1.为什么一定要实现Iterable接口? http://blog.csdn.net/albert0420/article/details/44922325 而Iterable则不然,每次调用都会返回 ...
- Logger.getLogger()和LogFactory.getLog()的区别
第一.Logger.getLogger()和LogFactory.getLog()的区别 1.Logger.getLogger()是使用log4j的方式记录日志: 2.LogFactory.getLo ...