matplotlib 函数图像,matplotlib show
matplotlib描述:Backend什么是backend?Matplotlib支持各种用例和输出格式。
有人在python shell中交互使用Matplotlib,输入命令时弹出绘图窗口。
有人用木星的笔记本电脑制作在线图表,快速分析数据。
此外,也有人将Matplotlib嵌入到PyQt、PyGObject等图形用户界面中,构建丰富的APP应用。
有人在批处理脚本中使用Matplotlib从数值模拟生成postscript图像,有人运行web APP server动态提供图形。
为了支持所有这些用例,Matplotlib可以支持各种输出。这些功能中的每一个都被称为后端。
“前端”是面向用户的代码或渲染代码,“后端”负责创建图形的所有后续任务。
后端:有两种类型
用户界面后端(针对PyQt/PySide、PyGObject、Tkinter、wxPython或Macintosh/cocoa);硬拷贝创建图像文件(PNG、SVG、PDF、PS),也称为“交互式后端”;也称为“非交互式后端”)。
选择后端有三种方式来配置后端:
更改matplotlibrc文件中的rcParams[backend](默认为: agg )参数
2.MPLBACKEND环境变量:这个可选变量可以设置为选择Matplotlib后端。
3.matplotlib.use函数(
更详细的描述如下。
如果有多个配置,列表末尾优先。例如,调用matplotlib.use()将覆盖matplotlibrc的设置。
如果没有显式设置后端,Matplotlib会根据系统的可用内容,以及GUI事件循环是否已经运行,自动检测可用的后端。
在Linux上,如果没有设置环境变量DISPLAY,“事件循环”将被识别为“头”,并将退回到非交互式后端(agg)。
下面是配置方法的详细描述:
1.c:\ program files \ python 38 \ lib \ site-packages \ matplotlib \ mpl-data路径下的matplotlibrc文件中的rcparrc
在Unix上:
在exportmplback end=Qt 5 aggpythonsimple _ plot . pymplback end=Qt 5 aggpythonsimple _ plot . py windows中,只有前者是可能的:
setmpl back end=Qt 5 aggpythonsimple _ plot . py设置此环境变量将覆盖matplotlibrc的后端参数,即使matplotlibrc存在于当前工作目录中。因此,不鼓励全局设置MPLBACKEND,例如,在您的。巴沙尔或者。简档,这可能会导致违反直觉的行为。
3.如果脚本依赖于特定的后端,请使用函数matplotlib . use(:importmatplotlibmatplotlib . use)。这必须在创建图形之前完成。否则matplotlib可能无法切换后端启动impotlib。
如果用户想使用不同的后端,使用use就需要修改代码。因此,除非绝对必要,否则应避免显式调用use。
内置后端的默认设置是Matplotlib必须自动选择默认后端。这样,您可以通过脚本交互式地工作和绘图,并将输出输出到屏幕或文件。所以,至少在初期,不用担心后端。
最常见的例外是Python发行版中没有安装tkinter,也没有安装其他GUI工具包。在某些Linux发行版中会出现这种情况。必须安装一个名为python-tk(或类似的)的Linux包。
然而,如果你想创建一个图形用户界面或嵌入在web APP应用服务器中的web APP应用服务器,或者你需要更好地了解正在发生的事情,请继续阅读。
为了自定义图形用户界面的内容,Matplotlib将渲染器的概念(实际的绘图内容)与画布(绘图位置)分离开来。
用户界面中的标准渲染器是Agg,它使用纹理几何C库来创建图形的光栅(像素)图像。配合Qt5Agg、Qt4Agg、GTK3Agg、wxAgg、TkAgg和macosx后端使用。另一个渲染器是基于Cairo库的,Qt5Cairo,Qt4Cairo等都用这个库。
渲染引擎还可以区分矢量渲染器和光栅渲染器。矢量语言发出的画线命令(如“点对点画线”)没有比例尺,但直线的像素表示会在光栅后端生成,其精度取决于DPI设置。
以下是Matplotlib渲染器的概述。(每个渲染器都有一个同名的后端;这些是非交互式后端,可以写入文件。)
红队
ererFiletypesDescriptionAGGpngrastergraphics-使用反粒度几何引擎的高质量图像PDFpdfvectorgraphics -可移植文档格式PSP,EPS矢量图形-PostscriptoutputSVGsvgvectorgraphics-可缩放矢量图形PGFpgf,pdf矢量图-使用gfpackageCairopng,PS,pdf,svgrastertorgraphics-使用图库要使用非交互式后端保存绘图,请使用matplotlib.pyplot.savefig(文件名)方法。
这里是支持的用户界面和渲染器组合;这些是交互式的后端,能够显示到屏幕上,并从上面的表中使用适当的渲染器来写入文件:
aqt 5画布中的BackendDescriptionQt5AggAgg渲染(requiresPyQt5).这个后端可以在分析中通过嵌入在朱皮特小部件中的%matplotlibqt5.ipymplAgg呈现来激活。(需要ipympl).这个后端可以在带有%matplotlibipympl的朱皮特笔记本中启用GTK3AggAgg渲染到aGTK3.x画布(要求PyGObject和pycairoorcairocffi).这个后端可以在分析中通过%matplotlibgtk3.macosxAgg渲染到系统的可可粉画布中来激活。这个后端可以在分析中用%matplotlibosx激活100 . TkAggAgg渲染到aTkcanvas (requiresTkInter).这个后端可以在分析中用% matplotlibtk.nbAggEmbed在朱庇特经典笔记本中嵌入一个交互式图形来激活。这个后端可以通过%matplotlibnotebook在朱皮特笔记本中启用WebAggOnshow()会用一个交互图形启动一个龙卷风服务器GTK3CairoCairo渲染到AGT k3。x canvas(需要pygobject和pycairoorcairocffi)。第四季度聚集聚集渲染到aqt 4帆布(需要pyqt 4或pyside).此后端可以在分析中激活,并使用%matplotlibqt4.wxAggAgg渲染到awxwidgetsccanvas(需要wxpython 4).这个后端可以在分析中用%matplotlibwx激活。请注意:内置后端名称不区分大小写;例如, Qt5Agg 和qt5agg 是等价的。
木星小部件生态系统发展太快,无法直接在Matplotlib中支持。安装ipympl
点安装ipympljupyter nb扩展使能-py-sys-前缀ipympl或者
康达安装ipympl -c康达锻造如何选择PyQt4或皮赛德?可以将QT_API环境变量设置为河岸计算或皮赛德,分别使用PyQt4或皮赛德。
因为要使用的绑定的默认值是PyQt4,所以Matplotlib首先尝试导入它。如果导入失败,则尝试导入皮赛德。
使用非内置后端更一般地说,任何可导入的后端都可以通过使用上面的任何方法来选择。
如果后端的名称是包含后端的模块,请使用模块://名称. of .后端作为后端名称,例如matplotlib。使用( module://name。的。的。后端) .
其他代码将matplotlibimport matplotlib。RC设置作为rcsetupmatplotlib.use(Agg ,force=True)# Agg matplotlib。getbackend()#查看当前系统的后端matplotlib.use(Qt5Agg ,force=True)# Qt 5 agg matplotlib。getbackend()#查看当前系统的后端matplotlib.matplotlib_fname() #查看matplotlibrc路径# C:\ \ Program Files \ \ python 38 \ \ lib \ \ site-packages \ \ matplotlib \ \ mpl-data \ \ matplotlibrc print(RC setup。all _ backends)#查看支持的所有后端[GTK3Agg , GTK3Cairo , MacOSX , nbAgg , Qt4Agg , Qt4Cairo , Qt5Agg , TkCairo , WebAgg , WX , WXAgg , WXCairo , Agg , Cairo , pdf , pgf , ps , svg , template]
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。