首页 > 解决方案 > matplotlib 后端 pgf 版本未知

问题描述

我从后端收到一条调试matplotlib消息pgf

matplotlib.backends DEBUG backend pgf version unknown

我的 matplotlib 设置类似于

mpl.use("pgf")
mpl.rc('text', usetex=True)
mpl.rcParams['pgf.rcfonts'] = False
mpl.rcParams['pgf.texsystem'] = 'xelatex'
mpl.rcParams["pgf.preamble"] = # xelatex fonts setup and other stuff

有没有办法让这个消息静音?也许需要特定的 pgf 版本?

标签: matplotlibloggingxelatexpgf

解决方案


如果您想使用日志记录,但没有从 matplotlib 获取任何日志消息,您可以按照文档所述执行以下操作:

请注意,如果您想在自己的代码中使用日志记录,但不想冗长的 Matplotlib 输出,您可以独立设置 Matplotlib 的日志记录级别:

import logging
# set DEBUG for everything
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger('matplotlib')
# set WARNING for Matplotlib
logger.setLevel(logging.WARNING)

注意

matplotlib.backends DEBUG backend pgf version unknown

是日志消息,而不是警告。它旨在告诉您后端的版本。但是没有为 pgf 后端设置版本。这没什么好担心的,除非您需要您的应用程序知道这样的版本。在这种情况下,我建议改用 matplotlib 版本。

更详细地说,后端可以设置版本。如backend_bases.py

backend_version = "unknown"

这通常是“未知的”,但如果某个后端想要设置它,它可能会。pgf 后端并不关心这样做,这可以认为是代码中的缺陷,但通常不需要这样的版本,因为默认后端(如 pgf)是 matplotlib 本身的一部分,例如 matplotlib 版本本身应该为您的应用程序提供所有需要的信息。


推荐阅读