python - 仅显示选定的或特定的 matplotlib 图形

标签 python matplotlib plot figure

我总共生成了 50 多个数字,但我不想全部显示。我想挑选出我想要显示的数字。有什么办法吗?

例如:我有 50 个图是在程序过程中生成的。最后,当我输入 plt.show() 时,它会显示所有数字。但是,我只想显示 3 或 4 个数字(但它们不是固定的,即我可以一次绘制数字 1、2、3、4,另一次我可以绘制数字 10、27、33、45) .此外,一个单独的函数正在生成这些数字,我正在返回所有数字。

示例主脚本:

import matplotlib.pylab as plt
import numpy as np
from sampleplotfn import *


A = 1
omega = np.linspace(10,35,50)

for i in range(len(omega)):
    fig1 = sinewave(A,omega[i])

plt.show()

samplepltfn.py

import numpy as np
import matplotlib.pylab as plt


def sinewave(A,omega):
      t = np.linspace(0,10,25)
      f = A*np.sin(omega*t)
      fig1 = plt.figure()
      plt.plot(f,t)
      return fig1

最佳答案

在脚本中做你想做的事情会很棘手;我同意 jrjc 的评论——你应该在制作之前清除你想要的图,而不是试图保留大量未显示的图(它们仍然占用内存,你必须记得清理它们!)。如果您处于交互模式,您可以使用单个图形的 show 方法(例如 fig2.show())显示单个图,只要您已经使用 plt.figure 的图形,但在那种情况下,无论如何它们都会按创建时的样子显示。

此外,我强烈建议不要使用 pylab,尤其是不要使用“plt”作为它的导入别名。 “plt”传统上用于 pyplot,而不是 pylab。 (将 matplotlib.pyplot 导入为 plt)。 Pylab 包含大量其他内容,除了交互式工作外,不鼓励使用它。

最后,您将在循环中覆盖“fig1”。尝试将数字保存到列表而不是单个变量中。

关于python - 仅显示选定的或特定的 matplotlib 图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31249027/

相关文章:

python - Django 绝对 url 有效,但相对 url 不适用于静态文件

python - Python 3.0 的哪些特性会改变你的日常编码?

python - 无法在 python 3 中导入 matplotlib.pyplot

python - 如何绘制多个国家的时间序列?

r - 可以使用什么函数从颜色矩阵创建图像?

python - 如何在 Python 中使用 OpenCV GeneralizedHoughTransform 类?

python - 在Python中,函数中的多个返回值是否作为隐式列表发送?

python - 带有图例的 geopandas 充满了斜线

matplotlib - pad_inches=0 和 bbox_inches ="tight"使绘图小于声明的 figsize

matlab - 在 MATLAB 中绘制 3-D 矩阵*值*