plt.figure()函数使用方法

简介: plt.figure()函数使用方法

figure语法及操作


1.1figure语法说明


figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)


  • num : 图像编号或名称,数字为编号,字符串为名称
  • figsize : 指定figure的宽和高,单位为英寸
  • dpi : 指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
  • facecolor : 背景的颜色
  • edgecolor : 边框颜色
  • frameon : 是否显示边框
    实例:
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(4, 3), facecolor='blue')
plt.show()


subplot创建单个子图


2.1subplot语法


suplot(nrows, ncols, sharex, sharey, subplot_kw, **fig_kw)


nrows : subplot的行数

ncols : subplot的列数

sharex : 所有subplot应该使用相同的X轴刻度(调节xlim将会影响所有subplot

sharey : 所有subplot应该使用相同的Y轴刻度(调节ylim将会影响所有subplot

subplot_kw : 用于创建各subplot的关键字字典

**fig_kw : 创建figure时的其他关键字,如plt.subplots(2, 2, figsize=(8, 6))

实例:


import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#作图1
plt.subplot(221)
plt.plot(x, x)
#作图2
plt.subplot(222)
plt.plot(x, -x)
#作图3
plt.subplot(223)
plt.plot(x, x ** 2)
plt.grid(color='r', linestyle='--', linewidth=1, alpha=0.3)
#作图4
plt.subplot(224)
plt.plot(x, np.log(x))
plt.show()


subplots创建多个子图


3.1subplot语法


实例:


import numpy as np
import matplotlib as plt
x = np.arange(0, 100)
#划分子图
fig, axes = plt.subplots(2, 2)
ax1 = axes[0, 0]
ax2 = axes[0, 1]
ax3 = axes[1, 0]
ax4 = axes[1, 1]
#作图1
ax1.plot(x, x)
#作图2
ax2.plot(x, x)
#作图3
ax3.plot(x, x ** 2)
ax3.grid(color='r', linestyle='--', linewidth=1, alpha=0.3)
#作图4
ax4.plot(x, np.log(x))
plt.show()


面向对象API:add_subplots与add_axes新增子图或区域


4.1add_subplot新增子图


import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#新建figure对象
fig = plt.figure()
#新建子图1
ax1 = fig.add_subplot(2, 2, 1)
ax1.plot(x, x)
#新建子图3
ax3 = fig.add_subplot(2, 2, 3)
ax3.plot(x, x ** 2)
ax3.grid(color='r', linestyle='--', linewidth=1, alpha=0.3)


4.2 add_axes新增子区域(图中图)


import numpy as np
import matplotlib.pyplot as plt
#新建figure对象
fig = plt.figure()
#定义数据
x = [1, 2, 3, 4, 5, 6, 7]
y = [1, 3, 4, 2, 5, 8, 6]
#新建区域ax1
#figure的百分比,从figure 10%的位置开始绘制,宽高是figure的80%
left, bottom, width, height = 0.1, 0.1, 0.8, 0.8
#获得绘制的句柄
ax1 = fig.add_axes([left, bottom, width, height])
ax1.plot(x, y, 'r')
ax1.set_title('area1')
#新增区域ax2,嵌套在ax1内
left, bottom, width, height = 0.2, 0.6, 0.25, 0.25
#获得绘制的句柄
ax2 = fig.add_axes([left, bottom, width, height])
ax2.plot(x, y, 'b')
ax2.set_title('area2')
plt.show()
相关文章
|
运维 应用服务中间件 Linux
keepalived详解(三)——keepalived与Nginx配合实战
keepalived详解(三)——keepalived与Nginx配合实战
521 1
|
中间件 API
nuxt3:接口转发,实现跨域
nuxt3:接口转发,实现跨域
1270 0
|
Java API 调度
如何避免 Java 中的 TimeoutException 异常
在Java中,`TimeoutException`通常发生在执行操作超过预设时间时。要避免此异常,可以优化代码逻辑,减少不必要的等待;合理设置超时时间,确保其足够完成正常操作;使用异步处理或线程池管理任务,提高程序响应性。
552 13
|
11月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
411 8
|
前端开发 图形学
二维空间下的向量旋转
向量运算是计算机图形学的数学基础,而向量的旋转是向量的一种常见操作,本文将详细讲解向量在二维空间下的旋转原理。
1117 0
二维空间下的向量旋转
|
SQL 前端开发 Java
Spring Data JPA之Spring boot整合JPA进行CRUD(上)
Spring Data JPA之Spring boot整合JPA进行CRUD(上)
406 0
|
机器学习/深度学习 数据采集 人工智能
综述:使用语言模型进行可控的蛋白质设计(1)
综述:使用语言模型进行可控的蛋白质设计
787 0
|
机器学习/深度学习 传感器 算法
时序预测 | Matlab实现SSA-BiLSTM、BiLSTM麻雀算法优化双向长短期记忆神经网络时间序列预测(含优化前后对比)
时序预测 | Matlab实现SSA-BiLSTM、BiLSTM麻雀算法优化双向长短期记忆神经网络时间序列预测(含优化前后对比)
|
搜索推荐 数据可视化 Python
Matplotlib图表中的数据标签与图例设置
【4月更文挑战第17天】这篇文章介绍了如何在Python的Matplotlib库中设置数据标签和图例,以增强图表的可读性和解释性。主要内容包括:使用`text`函数添加基本和自定义数据标签,以及自动和手动创建图例。图例的位置和样式可通过`loc`和相关参数调整。文章强调了数据标签和图例结合使用的重要性,提供了一个综合示例来展示实践方法。良好的图表设计旨在清晰有效地传达信息。
|
机器学习/深度学习 算法 Python
【Python机器学习】Sklearn库中Kmeans类、超参数K值确定、特征归一化的讲解(图文解释)
【Python机器学习】Sklearn库中Kmeans类、超参数K值确定、特征归一化的讲解(图文解释)
820 0