布局格式定方圆

第三回:布局格式定方圆

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']   #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False   #用来正常显示负号

一、子图

1. 使用 plt.subplots 绘制均匀状态下的子图

返回元素分别是画布和子图构成的列表,第一个数字为行,第二个为列,不传入时默认值都为1

figsize 参数可以指定整个画布的大小

sharexsharey 分别表示是否共享横轴和纵轴刻度

tight_layout 函数可以调整子图的相对大小使字符不会重叠

fig, axs = plt.subplots(2, 5, figsize=(10, 4), sharex=True, sharey=True)
fig.suptitle('样例1', size=20)
for i in range(2):
    for j in range(5):
        axs[i][j].scatter(np.random.randn(10), np.random.randn(10))
        axs[i][j].set_title('第%d行,第%d列'%(i+1,j+1))
        axs[i][j].set_xlim(-5,5)
        axs[i][j].set_ylim(-5,5)
        if i==1: axs[i][j].set_xlabel('横坐标')
        if j==0: axs[i][j].set_ylabel('纵坐标')
fig.tight_layout()

../_images/index_3_0.png

subplots是基于OO模式的写法,显式创建一个或多个axes对象,然后在对应的子图对象上进行绘图操作。
还有种方式是使用subplot这样基于pyplot模式的写法,每次在指定位置新建一个子图,并且之后的绘图操作都会指向当前子图,本质上subplot也是Figure.add_subplot的一种封装。

在调用subplot时一般需要传入三位数字,分别代表总行数,总列数,当前子图的index

plt.figure()
# 子图1
plt.subplot(2,2,1) 
plt.plot([1,2], 'r')
# 子图2
plt.subplot(2,2,2)
plt.plot([1,2], 'b')
#子图3
plt.subplot(224)  # 当三位数都小于10时,可以省略中间的逗号,这行命令等价于plt.subplot(2,2,4) 
plt.plot([1,2], 'g');

../_images/index_5_0.png

除了常规的直角坐标系,也可以通过projection方法创建极坐标系下的图表

N = 150
r = 2 * np.random.rand(N)
theta = 2 * np.pi * np.random.rand(N)
area = 200 * r**2
colors = theta


plt.subplot(projection='polar')
plt.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75);

../_images/index_7_0.png

练一练用极坐标系画出玫瑰图

from matplotlib.patches import Wedge
from matplotlib.collections import PatchCollection
# 可以借助上一章所学习的楔形图来绘制玫瑰图,此处我们随机生成36个分支,每个分支的长度从0.1开始,逐步增加0.01,最终生成如下所示的玫瑰图:
fig = plt.figure(figsize=(9,9))
ax1 = fig.add_subplot(111)
theta1 = 0

num = 36
patches = []

patches = [
    Wedge((0.5, 0.5), 0.01 + 0.01*i, i* 360/num, (1 + i) * 360/num) for i in range(num)
]

colors = 100 * np.random.rand(len(patches))
p = PatchCollection(patches, alpha=0.8)
p.set_array(colors)
ax1.add_collection(p);

2. 使用 GridSpec 绘制非均匀子图

所谓非均匀包含两层含义,第一是指图的比例大小不同但没有跨行或跨列,第二是指图为跨列或跨行状态

利用 add_gridspec 可以指定相对宽度比例 width_ratios 和相对高度比例参数 height_ratios

fig = plt.figure(figsize=(10, 4))
spec = fig.add_gridspec(nrows=2, ncols=5, width_ratios=[1,2,3,4,5], height_ratios=[1,3])
fig.suptitle('样例2', size=20)
for i in range(2):
    for j in range(5):
        ax = fig.add_subplot(spec[i, j])
        ax.scatter(np.random.randn(10), np.random.randn(10))
        ax.set_title('第%d行,第%d列'%(i+1,j+1))
        if i==1: ax.set_xlabel('横坐标')
        if j==0: ax.set_ylabel('纵坐标')
fig.tight_layout()

../_images/index_9_0.png

在上面的例子中出现了 spec[i, j] 的用法,事实上通过切片就可以实现子图的合并而达到跨图的共能 (切片方括号内用两个:分隔三个参数,下例中是用了两个参,其中逗号是spec的分隔x,y)

fig = plt.figure(figsize=(10, 4))
spec = fig.add_gridspec(nrows=2, ncols=6, width_ratios=[2,2.5,3,1,1.5,2], height_ratios=[1,2])
fig.suptitle('样例3', size=20)
# sub1
ax = fig.add_subplot(spec[0, :3])
ax.scatter(np.random.randn(10), np.random.randn(10))
# sub2
ax = fig.add_subplot(spec[0, 3:5])
ax.scatter(np.random.randn(10), np.random.randn(10))
# sub3
ax = fig.add_subplot(spec[:, 5])
ax.scatter(np.random.randn(10), np.random.randn(10))
# sub4
ax = fig.add_subplot(spec[1, 0])
ax.scatter(np.random.randn(10), np.random.randn(10))
# sub5
ax = fig.add_subplot(spec[1, 1:5])
ax.scatter(np.random.randn(10), np.random.randn(10))
fig.tight_layout()

../_images/index_11_0.png
(5条消息) Python Matplotlib scatter函数:绘制散点图_人生苦短, 还不用Python?-CSDN博客_matplotlib scatter

二、子图上的方法

补充介绍一些子图上的方法

常用直线的画法为: axhline, axvline, axline (horizontal, vertical and any)

  • 构造函数

    axhline(y=0, xmin=0, xmax=1, **kwargs)
    axvline(x=0, ymin=0, ymax=1, **kwargs)
    axline(xy1, xy2=None, *, slope=None, **kwargs)
    
  • Cases

fig, ax = plt.subplots(figsize=(4,3))
ax.axhline(0.5,0.2,0.8)
ax.axvline(0.5,0.2,0.8)
ax.axline([0.3,0.3],[0.7,0.7]);

../_images/index_13_0.png

note这里的x(y)min,x(y)max指的是显示的比例,如下例

fig, ax = plt.subplots(figsize=(4,3))
ax.axhline(0.3,0,0.6)
ax.axvline(0.5,0.1,0.9)
ax.axline([0.3,0.3],[0.7,0.7]);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lPgRnttk-1642509276408)(data:image/png;base64,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)]

使用 grid 可以加灰色网格

fig, ax = plt.subplots(figsize=(4,3))
ax.grid(True)

../_images/index_15_0.png

使用 set_xscale 可以设置坐标轴的规度(指对数坐标等)

fig, axs = plt.subplots(1, 2, figsize=(10, 4))
for j in range(2):
    axs[j].plot(list('abcd'), [10**i for i in range(4)])
    if j==0:
        axs[j].set_yscale('log')
    else:
        pass
fig.tight_layout()

plt.subplots(1, 2, figsize=(10, 4))
for j in range(2):
axs[j].plot(list(‘abcd’), [10**i for i in range(4)])
if j==0:
axs[j].set_yscale(‘log’)
else:
pass
fig.tight_layout()


![../_images/index_17_0.png](https://img-blog.csdnimg.cn/img_convert/f4cfc7b38385b71bb8b955c2a5038c61.png)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值