栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python matplotlib blit到图的轴或侧面?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python matplotlib blit到图的轴或侧面?

刚开始时,所有这一切肯定会令人困惑!

首先,如果要链接刻度线等,那么使用blitting并没有多大意义。如果只有某些内容发生更改,则发条只是避免重绘所有内容的一种方法。如果一切都在变化,则使用blitting毫无意义。只需重新绘制剧情。

基本上,您只想要

fig.canvas.draw()
plt.draw()

无论如何,要回答第一个问题,在大多数情况下,您无需手动更新它们。如果您更改轴限制,它们将自动更新。您遇到了问题,因为您只是在绘制轴的内部,而不是重新绘制绘图。

关于第二个问题,《Matplotlib用户指南》的“美术师教程”是一个详尽详尽的概述。

简而言之,有两个单独的层。一种用于将事物分组到绘图时您会担心的部分(例如,图形,轴,轴,线等),另一种用于处理渲染和总体绘制(画布和渲染器)。

您可以在matplotlib图中看到的是一个

Artist
。(例如,文本,线条,轴,甚至是图形本身。)艺术家a)知道如何绘制自己,并且b)可以包含其他艺术家。

对于艺术家自己绘制,它使用渲染器(几乎永远不会直接接触到的特定于后端的模块)来绘制

FigureCanvas
又名“画布”(围绕基于矢量的页面或像素缓冲区的抽象)。要绘制图中的所有内容,请致电
canvas.draw()

因为艺术家可以是其他艺术家的团体,所以事物之间存在层次结构。基本上是这样的(显然,这有所不同):

Figure    Axes (0-many) (An axes is basically a plot)        Axis (usually two) (x-axis and y-axis) ticks ticklabels axis label         background patch         title, if present         anything you've plotted, e.g. Line2D's

无论如何,希望这使事情变得更加清晰。

如果您确实确实想使用blit来更新刻度线标签等,则需要获取并还原包括它们的整个区域。获取该区域有些棘手,因为直到绘制时间 后才
完全知道它(由于对乳胶的支持,在matplotlib中渲染文本比渲染其他对象要复杂得多)。您可以做到,如果确实需要它,我会很高兴地举一个例子,但是与仅绘制所有内容相比,它通常不会产生速度优势。(例外是,如果您仅在具有很多子图的图形中更新一个子图。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650737.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号