消息“Matplotlib 当前正在使用 agg”并且 Matplotlib 不显示图像

其他人有这个问题,我用了他们的解决方案但没有解决。


我用virtual env with python3.5. Matplotlib安装在virtual env. 我在系统上安装了 python3.tkinter。


当我检查


matplotlib.get_backend()

我有


>>> import matplotlib

>>> matplotlib.get_backend()

'TkAgg'

但是当我运行下面的代码时


for image_path in TEST_IMAGE_PATHS:

  image = Image.open(image_path)

  # the array based representation of the image will be used later in order to prepare the

  # result image with boxes and labels on it.

  image_np = load_image_into_numpy_array(image)

  # Expand dimensions since the model expects images to have shape: [1, None, None, 3]

  image_np_expanded = np.expand_dims(image_np, axis=0)

  # Actual detection.

  output_dict = run_inference_for_single_image(image_np, detection_graph)

  # Visualization of the results of a detection.

  vis_util.visualize_boxes_and_labels_on_image_array(

      image_np,

      output_dict['detection_boxes'],

      output_dict['detection_classes'],

      output_dict['detection_scores'],

      category_index,

      instance_masks=output_dict.get('detection_masks'),

      use_normalized_coordinates=True,

      line_thickness=8)

  #plt.figure(figsize=IMAGE_SIZE)

  plt.imshow(image_np)

  plt.show()

我有问题


 UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.

  % get_backend())

我把标题放在


from io import StringIO

import matplotlib

matplotlib.rcParams["backend"] = "TkAgg"

from matplotlib import pyplot as plt

from PIL import Image

有人说已经解决了,但我还是有同样的问题,plt不显示图像。


LEATH
浏览 235回答 2
2回答

Helenr

正如您所指出的,Matplotlib 后端有时需要额外的步骤才能在虚拟环境中运行。话虽如此,上面链接的文档也表明 TkAgg 应该可用:[...] Tk 框架(TkAgg 后端)不需要任何外部依赖项,并且通常始终可用。我使用 Ubuntu,并且我认为 TkAgg 将依赖于 PyGObject。该选项本身有一个注释,链接到构建说明。按照PyGObject 构建说明,我去安装它的系统依赖项:sudo apt-get install -y python3-venv python3-wheel python3-devsudo apt-get install -y libgirepository1.0-dev build-essential \  libbz2-dev libreadline-dev libssl-dev zlib1g-dev libsqlite3-dev wget \  curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libcairo2-dev然后将以下Python 依赖项添加到我项目的虚拟环境中:皮开罗pygobject# inside my project's virtual environmentpip install pycairopip install pygobject完成后,像往常一样运行我的项目会显示预期的图形。笔记我在项目的虚拟环境中使用 Ubuntu 18.04.2 和 Python 3.6.8。我跳过了 PyGObject 的大部分构建指令,只做了我上面描述的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python