Linux 中 图片的产生与查看

使用场景

当在 Linux 的控制台想要显示一张图片,使用matplotlib.plt.plot() 和matplotlib.plt.show() 会报错。此时可以曲线救国,不直接在服务器上查看图片,而是直接保存图片,然后将保存的图片存在本地或者远程连接到软件(pycharm,vscode)查看。

详解

import matplotlib.plt 之前插入 import matplotlib as mpl 和 mpl.use(‘Agg’)

Linux 中 图片的产生与查看

mpl.use(‘Agg’) : 表示 不显示绘图

然后再对应的需要绘制图片的位置 添加保存图片的代码(原来的显示图片的代码不需要修改);记得最后添加 plt.close(),避免在保存多张图片时图片重叠。

Linux 中 图片的产生与查看

例外

我在一个文件中(a.py)写上如下的代码,并保存了相关图片:

 import matplotlib as mpl
 mpl.use('Agg')
 import matplotlib.plt

然后在 另一个文件(b.py)中导入 a.py,并也想保存相关图片:

import a
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.plt

此时系统提出了警告

train.py:45: UserWarning:
This call to matplotlib.use() has no effect because the backend has already
been chosen; matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.

我认为是因为在 a.py 中引入过 import matplotlib.plt ,再在 b.py 中时使用 mpl.use(‘Agg’)就已经位于import matplotlib.plt 后了(这是不允许的)

然后保存图片的时候报错了

Linux 中 图片的产生与查看

解决办法:在 b.py 中注释掉如下代码,并在后面添加 : plt.switch_backend(‘agg’)

import a
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
plt.switch_backend('agg')

Original: https://www.cnblogs.com/jack-nie-23/p/16448756.html
Author: jacknie23
Title: Linux 中 图片的产生与查看

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582398/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux搭建SVN服务器详细教程

    前言 本文讲解Linux系统下如何搭建SVN服务器,详细说明各配置项的功能,最终实现可管控多个项目的复杂配置。 SVN是subversion的缩写,是一个开放源代码的版本控制系统,…

    Linux 2023年6月7日
    0105
  • Linus:“我删除了Linux,因为它就是个垃圾”

    1月 25日, Linus Torvalds 在 Linux 的 GitHub 仓库中提交了一个恶作剧 README页面,其备注名为《delete linux because it…

    Linux 2023年6月13日
    0115
  • 同城双活-流量分流

    引言 现阶段,在同城带宽时延问题没有经过大规模的生产实践、验证的情况下,我们只导入”白名单或1%”的小比例请求流量,进入双活环境,确保环境有效的(活的),同…

    Linux 2023年6月14日
    0113
  • 部署无人值守安装系统

    主机名 操作系统 ip地址 无人值守系统 CentOS Linux release 7.9.2009 (Core) 192.168.71.128 客户端 未安装系统 –…

    Linux 2023年6月13日
    0131
  • Linux服务器文件打包

    1,一般打包:: 文件路径是相对路径,打包后文件也是相对路径,无论是否添加P参数. 文件目录是绝对路径,但不加P参数打包可能会报错[删除/之类的错误],.加P参数打包正确无错误.打…

    Linux 2023年5月27日
    0124
  • python写一个双色球彩票计算器

    首先声明,赌博一定不是什么好事,也完全没有意义,不要指望用彩票发财。之所以写这个,其实是用来练手的,可以参考这个来预测一些其他的东西,意在抛砖引玉。 啰嗦完了,马上开始,先上伪代码…

    Linux 2023年6月6日
    0112
  • TortoiseGit使用

    ​ 一:TortoiseGit安装以及配置 1.1、安装包 TortoiseGit以及配套安装包见链接: git下载链接 Download PuTTY TortoiseGit下载 …

    Linux 2023年6月13日
    090
  • redis client原理分析

    1:空闲连接池实现 空闲连接池存在一个双向链表中,一个连接用完后回收,就会从表头插入这个链表,当需要一个连接时也是从链表的表头取,从表头插入的时候会写入当前时间,所以链表是一个按时…

    Linux 2023年5月28日
    0108
  • 【故障公告】取代 memcached 的 redis 出现问题造成网站故障(已解决)

    6月19日开始,我们将博客站点的缓存服务器从 memcached 换成了 redis,稳定运行了3天,今天上午访问高峰突然出现问题,在 11:00-12:30 期间影响了网站的正常…

    Linux 2023年5月28日
    0122
  • 20191223 实验一 密码引擎

    任务一 OpenEuler系统安装 1.登录自己的华为云账号,参考附件图示,构建基于鲲鹏和OpenEuler的ECS。或者通过使用树莓派安装OpenEuler,或者自己通过虚拟机安…

    Linux 2023年6月8日
    0109
  • Linux内核中内存管理相关的数据结构

    本文简要说明几个内核和内存管理有关的结构体。其中 struct page 和 struct zone有较大幅度的删减,主要删减了和NUMA模型SPARSE模型以及内存热插拔相关的域…

    Linux 2023年6月7日
    0116
  • CentOS 文件管理

    一、目录管理 1.1、目录结构 1.2、切换目录 1.3、查看目录 1.4、创建目录 1.5、复制目录 1.6、剪切目录 1.7、删除目录 二、文件管理 2.1、查看文件 2.2、…

    Linux 2023年5月27日
    0178
  • webshell查杀的方法

    从您反馈的情况看,是您的网站被植入了webshel后门文件导致的。您可以先对当前的服务器做下快照备份,然后将您的网站代码拷贝到本地进行下webshell查杀:https://www…

    Linux 2023年5月28日
    0121
  • 【MQTT】iniparser库的安装和使用

    iniparser库 * – iniparser库介绍 – 下载库 – iniparser中的API – dictionary中的一…

    Linux 2023年6月13日
    0110
  • 普通 Docker 与 Kubernetes 对比

    Docker提供基本容器管理 API 和容器镜像文件格式Kubernetes 管理运行容器的(物理或虚拟)主机群集,如果 Docker 是 OCP 的”内核&#8221…

    Linux 2023年6月6日
    0100
  • pysimpleGui 之table使用

    (class) Table(values, headings=None, visible_column_map=None, col_widths=None, def_col_wid…

    Linux 2023年6月14日
    0106
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球