首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么绘图函数plt.show()在循环内部或外部表现不同?

绘图函数plt.show()在循环内部和外部的表现不同是因为plt.show()的作用是将绘制的图形显示出来,但在循环内部调用时,会导致图形窗口频繁地被打开和关闭,从而造成图形闪烁的现象。

在循环内部调用plt.show()时,每次循环都会创建一个新的图形窗口,然后将当前循环的图形显示出来,接着关闭该窗口,并进入下一次循环。这样就会导致图形窗口频繁地打开和关闭,给人感觉图形在闪烁。

而在循环外部调用plt.show()时,循环结束后才会显示所有图形。即在整个循环结束之后,才会创建一个窗口,并将所有循环内绘制的图形显示在该窗口中。这样就可以避免图形的闪烁现象,同时在窗口中显示所有的图形。

解决这个问题的方法是,在循环内部使用plt.ion()函数将绘图设为交互模式,然后在每次循环结束后调用plt.pause()函数给定一个适当的延时时间,使得图形窗口能够显示出来并保持一段时间,然后再继续循环下一次的绘制。这样就能够实时显示图形,避免图形的闪烁。

示例代码:

代码语言:txt
复制
import matplotlib.pyplot as plt

plt.ion()  # 开启交互模式

for i in range(10):
    # 绘制图形的代码

    plt.pause(0.1)  # 延时0.1秒

plt.ioff()  # 关闭交互模式
plt.show()  # 显示所有图形

这样就可以在循环内部实时显示图形,避免闪烁的问题。

相关搜索:Dictionary<string,dynamic>在函数内部使用时与在函数外使用时表现不同,为什么?C++为什么我的递归函数在融合循环时表现不同?为什么在循环中设置useState会有不同的表现?在循环内部或外部声明一个对象?在R/写入内部带有外部函数的循环函数为什么在循环内部或外部初始化变量会改变代码行为?'&arrayname + n‘在main函数内部和外部的不同输出为什么完全相同的函数在ipython/jupyter中表现不同?在Python中,将'continue‘从函数内部传递到外部循环为什么在调试器下Perl的quotemeta()函数表现不同?为什么PHP函数fopen()和相关变量在smarty模板引擎中表现不同?在c++中,c为什么for循环块内的条件和for循环内的条件表现不同?为什么Node Js中在函数内部声明的常量不能访问函数外部?React js - useState在onChange表单函数内部和外部返回不同的值为什么这个函数使用具有重叠实例的类型类在GHCi中表现不同?为什么我可以在函数内部打印结构,但不能在外部打印?为什么我们可以在函数内部进行初始化,而在函数外部仍然使用该值?为什么在函数外部初始化堆栈比在函数内部初始化堆栈执行得更快?在Array.forEach循环内部和外部,Array.push'd到父作用域的值不同为什么在推送数组中的项后,函数内部在node.js(mongoose)中该函数外部显示空数组?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用 Python 可视化 O(n)

O(n) 时间复杂度中,随着输入大小 'n' 的增加,执行时间成比例增长。随着“n”的增加,迭代次数和完成循环所需的时间将成比例增加。线性时间复杂度输入大小和执行时间之间表现出成正比的关系。...循环中的任何任务任务序列都可以不考虑输入大小“n”的情况下执行。这里要注意的主要方面是循环执行“n”次迭代,导致线性时间复杂度。...循环中,我们测量每个输入大小的 'algo_time()' 函数的执行时间。为了开始跟踪时间,我们使用了“时间”。time()' 调用函数之前,并在函数完成运行后立即停止它。...接下来,我们定义 algo_ops() 函数,它接受输入数字 'n'。函数内部,我们初始化两个变量:“ops”用于计算操作次数,“sum”用于存储数字的累积总和。...“input_sizes”的值显示x方向轴上,代表不同的输入幅度。“execution_times”的值显示垂直轴上,表示针对不同的输入大小执行“algo_time()”函数所花费的持续时间。

21010

ProPlot 基本语法及特点

更简单的颜色条和图例 使用 Matplotlib 的过程中,子图外部绘制图例有时比较麻烦。通常,我们需要手动定位图例并调整图形和图例之间的间距,为图例绘图对象中腾出绘制空间。...而在 Matplotlib 中,绘制插入绘图对象内部的颜色条和生成宽度一致的子图外部颜色条通常也很困难,因为插入的颜色条会过宽过窄,与整个子图存在比例不协调等问题。...,完成特定子图不同位置颜色条图例的绘制。...() ProPlot 绘图工具库为基于 Python 基础绘图工具 Matplotlib 的第三方优质拓展库,既可使用它自身的绘图函数绘制不同类型的图,也可仅使用其优质的绘图主题,即导入 ProPlot...想要使用 ProPlot 绘制不同需求的图形结果使用 ProPlot 优质学术风格绘图主题,可自行安装 Matplotlib 3.4 系列版本。

43430
  • R 茶话会(一:可恶的for 循环

    这也就是为什么,我们循环内部直接使用变量,它没有任何的返回结果;而在外部,可以直接通过变量获取对象值。...,没想到啊,没想到,你循环内部还留了一手: 不知道是为了什么,外部简化了打印,可以循环内部还是保留了这个所谓的“缺点”。...i [1] 5 有没有发现,即便你并没有函数内部使用什么操作,它还是对i 进行了赋值。...而这个循环中声明创建的变量,是会在全局发生作用的,如果你循环外部曾经用同样的变量名进行过其他赋值,它会覆盖当前环境中已经存在的对象: > i = 666 > for (i in 1:5) {} > i...,我们来复习一下:1)使用循环时,如果想要打印对象的返回值,一定需要使用print;2)使用循环时,一定要选择不同的变量名,无论是进行遍历时使用的变量还是循环内部重新进行赋值的变量。

    91820

    【matplotlib】4-完善统计图形

    完善统计图形 1 添加图例和标题 绘图区域中可能会出现多个图形,而这些图形如果不加以说明,观察者则很难识别出这些图形的主要内容。因此,我们需要给这些图形添加标签说明,用以标记每个图形所代表的的内容。...() 通过调用图例函数"plt.legend(wedges, elements)",就可以将饼片外部的文本标签放在图例中,而各饼片的数值仍在饼片内部。...函数legend()的参数wedges和elements分别表示饼片实例列表和文本标签列表,而且这两个参数要一起配合才能将外部文本标签放在图例中。...() 下半部分是改进后的正弦曲线,我们通过xlim()函数来改变x轴的刻度范围,使得绘图区域变得更加紧凑。...2.2 子区函数–subplot() 这个函数专门用来绘制几何形状相同的网格区域,子区顾名思义就是将画布分成若干个子画布,这些子画布就构成了几何形状规则且对称的矩形绘图区域,然后在这些区域上分别绘制图形

    2.7K20

    Matplotlib使用(2)

    每个pyplot功能都会对图形进行一些更改:例如,创建图形,图形中创建绘图区域,绘图区域中绘制一些线条,用标签装饰绘图等。...matplotlib.pyplot各种状态下,函数调用之间会保留在一起,以便跟踪当前图形和绘图区域之类的内容,并且绘图功能指向当前轴 注意 Pyplot API通常不如Python的API灵活。...实际上,所有序列都在内部转换为numpy数组。下面的示例说明了使用数组一条命令中绘制几行具有不同格式样式的行。...Matplotlib允许您将类别变量直接传递给许多绘图函数。...删除对图形的所有引用,和/使用窗口管理器杀死图形屏幕上出现的窗口是不够的,因为pyplot会一直保持内部引用直到close() 被调用。

    1.2K40

    第02课:深度学习 Python 必备知识点

    ,根据输入 x 与 0 的大小关系,返回 positive、negative zero。...向量化和矩阵 深度学习神经网络模型包含了大量的矩阵相乘运算,如果使用 for 循环,运算速度会大大降低。Python 中可以使用 dot 函数进行向量化矩阵运算,来提高网络运算效率。...所以,构建神经网络模型时,我们应该尽量使用矩阵相乘运算,减少 for 循环的使用。 顺便提一下,为了加快深度学习神经网络运算速度,可以使用比 CPU 运算能力更强大的 GPU。...值得一提的是, Python 程序中为了保证矩阵运算正确,可以使用 reshape 函数设定矩阵为所需的维度。这是一个很好且有用的习惯。...() 总结 本文主要介绍了一些 Python 的基础知识,包括为什么选择 Python、函数和类、向量化和矩阵、广播、Matplotlib 绘图等。

    1K10

    Matplotlib 中文用户指南 3.1 pyplot 教程

    每个绘图函数对图形进行一些更改:例如,创建图形,图形中创建绘图区域,绘图区域绘制一些线条,使用标签装饰绘图等。...matplotlib.pyplot中,各种状态跨函数调用保存,以便跟踪诸如当前图形和绘图区域之类的东西,并且绘图函数始终指向当前轴域(请注意,这里和文档中的大多数位置中的『轴域』(axes)是指图形的一部分...import matplotlib.pyplot as plt plt.plot([1,2,3,4]) plt.ylabel('some numbers') plt.show() 你可能想知道为什么x...事实上,所有序列都在内部转换为numpy数组。 下面的示例展示了使用数组和不同格式字符串,一条命令中绘制多个线条。...删除对图形的所有引用,和/使用窗口管理器杀死屏幕上出现的图形的窗口是不够的,因为调用close()之前,pyplot会维护内部引用。

    1.5K40

    Python实操:手把手教你用Matplotlib把数据画出来

    02 生成一个简单的绘图 让我们创建第一个绘图。 假设想要画出正弦函数sin(x)的线性图。得到函数x坐标轴上0≤x<10内所有点的值。...从.py脚本中绘图 如果从一个脚本中运行 Matplotlib,需要加上下面的这行调用: plt.show() 脚本末尾调用这个函数,你的绘图就会出现! 2....()函数,所有的绘图将会自动出现。...03 可视化外部数据集的数据 作为本章最后一个测试,让我们对外部数据集进行可视化,比如scikit-learn中的数字数据集。...subplot函数与MATLAB中的函数一样,需要指定行数、列数以及当前的子绘图索引(从1开始计算)。我们将使用for 循环在数据集中迭代出前十张图像,每张图像都分配到一个单独的子绘图中。

    2.3K30

    脑电分析系列| 脑电数据的Epoching处理

    从上图上可以看到整个记录中有几个振幅不同的脉冲。这些脉冲对应于采集过程中呈现给受试者的不同刺激。 脉冲的值为1、2、3、4、5和32。...第二列是转换时保留给触发器通道的旧值,目前没有使用。 第三列是触发ID(脉冲幅度)。 这里说明一下为什么这些样本看起来与绘制的数据不一致。...一般来说,使用时不需要担心这个偏移量,因为它在MNE函数中已经被考虑进去了,不过最好要注意这一点。 为了确认一下,我们将事件与原始数据一起绘制。...这里的event_id可以是int、int列表dict。使用dict可以将这些id分配给不同的类别。当使用int列表时,这个信息就会丢失。...epochs.plot(block=True) plt.show() 通过绘制drop日志,来查看为什么剔除epoch(一般被伪影等污染的epoch数据需要被剔除)。

    79820

    Python脑电数据的Epoching处理

    从上图上可以看到整个记录中有几个振幅不同的脉冲。这些脉冲对应于采集过程中呈现给受试者的不同刺激。 脉冲的值为1、2、3、4、5和32。...第二列是转换时保留给触发器通道的旧值,目前没有使用。 第三列是触发ID(脉冲幅度)。 这里说明一下为什么这些样本看起来与绘制的数据不一致。...一般来说,使用时不需要担心这个偏移量,因为它在MNE函数中已经被考虑进去了,不过最好要注意这一点。 为了确认一下,我们将事件与原始数据一起绘制。...这里的event_id可以是int、int列表dict。使用dict可以将这些id分配给不同的类别。当使用int列表时,这个信息就会丢失。...epochs.plot(block=True) plt.show() ? 通过绘制drop日志,来查看为什么剔除epoch(一般被伪影等污染的epoch数据需要被剔除)。

    79730

    手把手教你用Matplotlib进行数据可视化

    2002年,约翰·亨特(John Hunter)提出Matplotlib,最初的构思是设计为IPython的一个补丁,以便能够从命令行启用交互式MATLAB样式绘图。...从.py脚本绘图 如果你正从一个脚本运行matplotlib,那么你只需要调用plt,如下所示: plt.show() 调用后,图形就会显示出来! 2....导入matplotlib之后,运行plt.style.use(style_name),你可以更改绘图的样式。plt.style.available中列出了所有可用的样式。...03 可视化外部数据集的数据 作为本文的最后一个测试,让我们可视化一些来自外部数据集的数据,例如scikit-learn的digits数据集。...subplot函数MATLAB中一样,我们指定行数、列数以及当前子图的索引(从1开始)。

    1K50

    学会这7个绘图工具包,Matplotlib可视化也没那么难

    Matplotlib提供了一个面向对象的API,有助于使用Python GUI工具包(如PyQt、WxPythonotTkinter)应用程序中嵌入绘图。...散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。广告数据分析中,我们通常会根据散点图来分析两个变量之间的数据分布关系。散点图的主要参数及其说明如表2所示。...图2 条形图 折线图 折线图是用直线连接排列工作表的列行中的数据点而绘制成的图形。折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示相等时间间隔下数据的趋势。...以某广告平台随日期变化的用户请求数为例,我们用折线图来表现其变化趋势,如代码清单3所示,其可视化结果如图3所示。...图7 水平箱形图 组合图 前面介绍的都是figure对象中创建单独的图像,有时候我们需要在同一个画布中创建多个子图或者组合图,此时可以用add_subplot创建一个多个subplot来创建组合图,

    2.9K30

    十二 直方图

    matplotlib是一个绘图库,我们将通过matplotlib绘制图像的直方图。为什么图像可以绘制直方图呢?我们可以想一下,图像是由一堆数据组成,既然是数据那就可以对这个图像进行可视化的图标操作。...一般横坐标表示图像像素的不同值,或者说不同的种类,纵坐标则表示了每一种颜色的个数或者百分比。直方图用这种表现方式显示图像的基本内容特征方便接下来对图像进行进行下一步的操作。...首先我们定义一个列表,存储红绿蓝三原色字符串,方便之后的绘图时传入色彩: color = ["blue", "green", "red"] 随后使用一个for循环,不过需要将color传入enumerate...第一个值img是图像数据,第二个值i,由于每次都会循环作为下标,那么就是0、1、2、3这3个数据,这3个数据传入到calcHist后将会拿出红绿蓝三个不同的通道值。...这时每次循环hist都将会是不同通道的值内容,这个时候就可以使用plot进行折线画图,并且传入颜色值,绘制不同颜色的线段: plt.plot(hist, color=v) 组后show图片,完整代码如下

    1.1K20

    matplotlib - Pyplot 教程

    每个pyplot函数对图形进行一些更改:例如,创建图形,图形中创建绘图区域,绘图区域中绘制一些线条,用标签装饰图形等。...matplotlib.pyplot中,各种状态函数调用中保留,以便跟踪当前图形和绘图区域等内容,并且绘图函数指向当前轴(请注意“轴”在此处以及大多数位置 文档是指图形的轴部分,而不是多个轴的严格数学术语...实际上,所有序列都在内部转换为numpy数组。 下面的示例说明了使用数组一个命令中绘制具有不同格式样式的多行。...使用关键字字符串绘图 某些情况下,您可以使用允许您使用字符串访问特定变量的格式的数据。例如,使用 numpy.recarray pandas.DataFrame。...删除对图的所有引用,和/使用窗口管理器来杀死屏幕上出现图形的窗口是不够的,因为pyplot会保持内部引用,直到调用close()。

    1.8K10

    matplotlib动画制作(1)

    如果觉得本文文章有用,点击上方"python数据可视化之美"关注我的公众号,原创文章将会第一时间推送,如有建议,可添加微信交流评论区留言。...1-1 FuncAnimation语法与绘图逻辑 Matplotlib官网的FuncAnimation介绍中,它是一个动态更新绘图函数,语法为: matplotlib.animation.FuncAnimation...,视频是由每一帧图像构成,每一帧相当于绘一次图,该函数就是用来传递每一帧的参数并绘图 frams:迭代对象,是func函数的参数,数量与视频的帧数保持一致。...如果是mp4结尾,可能需要根据提示更新包 ani.save(out_path, fps = 20) plt.show() 绘图逻辑:根据函数的构建框架,大致可以分为:1)画布分割;2)数据构建;3)更新函数编写...() 结果如下: 一些解释:为什么传入frame就可以实现更新?

    42940

    matplotlib - matplotlib 教程

    你还可以我们的用户指南中找到外部资源和常见问题解答。 matplotlib 入门 这些教程介绍了使用Matplotlib创建可视化效果的基础知识,以及有效使用该包的一些最佳实践。...绘制函数的输入类型 所有绘图函数都需要np.arraynp.ma.masked_array对象作为输入类型。...不同的风格中,有两种是官方支持的。因此,这些是使用matplotlib的首选方法。...允许但本身并不需要确保绘制到屏幕上。是否以及何时绘制到屏幕,以及屏幕上绘制绘图后是否继续脚本shell会话取决于调用的函数和方法,以及确定matplotlib是否处于“交互模式”的状态变量”。...无论是脚本还是shell中,绘图命令流的中间打开和关闭交互模式很少需要并且可能令人困惑,因此在下文中我们将假设所有绘图都是以交互模式打开关闭。

    4.6K31
    领券