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)

大家都在看

  • nginx-http响应头安全策略

    从nginx的http头文件的方面,利用参数设置开启浏览器的安全策略,来实现相关的安全机制。 add_header Content-Security-Policy "de…

    Linux 2023年6月6日
    0104
  • phpcms搜索给分页代码添加参数方法

    在使用PHPCMS开发网站时遇到了一个搜索功能,需要在搜索结果分页链接上添加一些传递的参数,不然不能够正确翻页。 方法: 找到\phpcms\libs\functions\glob…

    Linux 2023年6月13日
    0111
  • SQL51 查找字符串中逗号出现的次数

    本题链接本题表结构如下所示。 +—-+————–+ | id | string | +—-+————–+ | 1 | 10,A,B | …

    Linux 2023年6月13日
    0103
  • Linux 内核软死锁(soft lockup)bug原因分析

    由日志我们看到,CPU一直处于超负载运行,因此导致机器产生断链的告警 解决方法: echo 30 > /proc/sys/kernel/watchdog_thresh sys…

    Linux 2023年6月13日
    0105
  • python 多线程

    python 多线程 多线程流程 导入模块 import threading 通过线程类型创建线程对象 线程对&a…

    Linux 2023年6月13日
    082
  • rtmp和rtsp的区别

    刚刚接触到视频推流,搞不清楚rtmp和rtsp到底有什么区别 1.视频传输 RTSP+RTP主要用于IPTV,原因是传输数据使用的是UDP,在网络环境比较稳定的情况下,传输效率是比…

    Linux 2023年6月8日
    0102
  • 【论文笔记】Towards Certifying l-infinity robustness using neural networks with l-infinity-dist neurons

    原文地址 slides GitHub 代码 本文发表于 2021 ICML,提出了一个新颖的神经网络计算方式:对于网络中的每个神经元,不采用传统的线性转换+非线性激活函数的方式,而…

    Linux 2023年6月7日
    082
  • python 练习题:将列表中的大写字母转换成小写

    将列表中的大写字母转换成小写如果list中既包含字符串,又包含整数,由于非字符串类型没有lower()方法,L1 = [‘Hello’, ‘World’, 18, ‘Apple’,…

    Linux 2023年6月8日
    0146
  • Linux内核模块管理(命令)

    1.什么是 Linux 内核模块? 内核模块是可以根据需要加载到内核中或从内核中卸载的代码块,因此无需重启就可以扩展内核的功能。事实上,除非用户使用类似lsmod这样的命令来查询模…

    Linux 2023年6月8日
    0103
  • JavaScript编程基础(一)

    目的: 熟练掌握JavaScript的语言基础,包括数据类型、常量和变量、运算符和表达式、基本语句和函数。 理解JavaScript如何动态产生HTML代码,以及控制CSS。 要求…

    Linux 2023年6月13日
    099
  • Nginx/Tengine安装配置详解

    1 概念 Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。官方测试…

    Linux 2023年6月14日
    096
  • linux下通过命令连接wifi

    故事背景:我司是做新零售的,机器支持4G、wifi、网线,可能会涉及到网络的切换和连接 项目需求:用户在web端输入wifi名称和密码,客户端可以通过服务端下发的信息进行连接 技术…

    Linux 2023年6月13日
    094
  • Zabbix-(1)安装

    环境: VMware Workstation Pro 16.0 版本 系统 Centos7 …

    Linux 2023年6月13日
    088
  • Linux系统僵尸进程详解

    大安好,我是良许。 在本文中,我们将讨论什么是僵尸进程,如何创建僵尸进程,以及如何终止僵尸进程。 [En] In this article, we will discuss wha…

    Linux 2023年5月27日
    0109
  • PHP array_reduce()

    array_reduce array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。 示例一: 示例二:…

    Linux 2023年6月7日
    0119
  • SQL55 分页查询employees表,每5行一页,返回第2页的数据

    LIMIT子句 本题链接表结构如下所示。 +——–+————+——&#8…

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