(P4)Python plt显示图像

news2024/9/22 16:49:21

Python plt显示图片

本地可以显示,服务器操作不太行。

plt.plot(x,y)
plt.imshow(image)
plt.show() # 显示图像(曲线/图片都需要这一行)
plt.savefig('xx.png') # 保存图片 fig.savefig('xx.png') 功能相同
# 保存图片在本地执行失败(TBD),但在服务器中可以

一、绘制曲线并显示 plt.plot

参考资料:【Python】 【绘图】plt.figure()的使用

一张图中包含多张小图 的三种写法

汇总

plt.subplot(221)
plt.plot(x, y)

fig,axes=plt.subplots(2,2)
ax1=axes[0,0]
ax1.plot(x, y)

fig = plt.figure(figsize=(6, 3)) # 指定画图的大小
ax = fig.add_subplot(1, 2, 1)
ax.plot(x, y)

写法一

plt.subplot(221)
plt.plot(x, x)
plt.show()  /  %matplotlib inline # %的写法只在Jupyter中生效,见文末附录说明

⭐ 测试发现,该方法在本地可以显示,但在远程服务器上不可。

import numpy as np  
import matplotlib.pyplot as plt  
x = np.arange(1, 101)  
#作图1
plt.subplot(221)  
plt.plot(x, x)  
#作图2
plt.subplot(222)  
plt.plot(x, -x)  
 #作图3
plt.subplot(223)  
plt.plot(x, x ** 2)  
plt.grid(color='r', linestyle='--', linewidth=1, alpha=0.3)
#作图4
plt.subplot(224)  
plt.plot(x, np.log(x))  
plt.show()  # 删除本行,增加%matplotlib inline 也可以显示出图像 

在这里插入图片描述

写法二

fig,axes=plt.subplots(2,2)
ax1=axes[0,0]
ax1.plot(x, x)
plt.show() 
import numpy as np  
import matplotlib.pyplot as plt

x = np.arange(1, 101)  
#划分子图
fig,axes=plt.subplots(2,2)
ax1=axes[0,0]
ax2=axes[0,1]
ax3=axes[1,0]
ax4=axes[1,1]


#作图1
ax1.plot(x, -x)  
#作图2
ax2.plot(x, x)
 #作图3
ax3.plot(x, x ** 2)
ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#作图4
ax4.plot(x, np.log(x))  
plt.show() 

在这里插入图片描述

写法三

fig = plt.figure(figsize=(6, 3)) # 指定画图的大小
ax = fig.add_subplot(1, 2, 1)
ax.plot(x, y)
plt.show() 
import numpy as np
import matplotlib.pyplot as plt
# %matplotlib inline

fig = plt.figure(figsize=(6, 3))
ax = fig.add_subplot(1, 2, 1)
x = np.linspace(-5, 5, 100)
y = x**2
ax.plot(x, y, 'r-')

ax = fig.add_subplot(1, 2, 2)
x = np.linspace(-5, 5, 100)
y = x**3
ax.plot(x, y, 'r-')

plt.show() 

在这里插入图片描述

二、打开图片并显示 plt.imshow

写法一 cv2

参考资料
opencv 因为历史原因, 读入的图片的格式是BGR的;matplotlib的图片格式默认是RGB格式的。所以,当用cv2读入图片然后用matplotlib显示的时候,R通道变成了B通道, B通道变成了R通道, 所以显示会很阴间。如果想要正确显示图像,就需要使用cvtColor进行颜色空间的转换,从BGR转换为RGB。

image = cv2.imread(image_path)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
fig, ax = plt.subplots(1,2)
ax[0].imshow(image)
import cv2
import matplotlib.pyplot as plt
image_path = r"C:\\Users\\shmily\\Desktop\\file1.jpg"
image = cv2.imread(image_path)
h, w, _ = image.shape
image_size = 448
img = cv2.resize(image, dsize=(image_size, image_size), interpolation=cv2.INTER_LINEAR)
h1, w1, _ = img.shape
print(h,w,h1,w1)

fig, ax = plt.subplots(1,2)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) 	# 改变显示的颜色
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 
ax[0].imshow(image) # ,cmp='gray')
ax[1].imshow(img)
plt.show()

不进行 image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) 的结果

在这里插入图片描述

进行了颜色转变的结果
在这里插入图片描述

写法二 Image

img = np.array(Image.open(img_path)) 
plt.figure()
plt.imshow(img)
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
img_path = r"C:\\Users\\shmily\\Desktop\\file1.jpg"
img = np.array(Image.open(img_path)) 
plt.figure()
plt.imshow(img)
plt.show()

附录

1、%matplotlib inline 说明

在这里插入图片描述

2、随手补充内容

隐藏坐标系

plt.axis('off')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/98941.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch学习笔记

Elasticsearch学习笔记 ----第1章 Elasticsearch概述-01-开篇02-技术选型03-教学大纲-第2章 Elasticsearch入门-04-入门-环境准备05-入门-RESTful & JSON06-入门-Postman客户端工具07-入门-倒排索引08-入门-HTTP-索引-创建09-入门-HTTP-索引-查询 & 删除10-入门-HTTP-…

Linux 调试之 TRACE_EVENT(一)

文章目录前言一、TRACE_EVENT简介二、TRACE_EVENT() 结构2.1 TRACE_EVENT简介2.2 trace_sched_switch示例2.2.1 Name2.2.2 Prototype2.2.3 Arguments2.2.4 Structure2.2.5 Assignment2.2.6 Print2.3 Format file2.3.1 tracing/events/2.3.2 perf2.3.3 bpftrace2.3.4 bcc2.3.5 S…

逻辑回归 鸢尾花分类预测

目录 一:加载数据 二:数据集划分 三:选择算法 四:网格模型 超参数最优解 五:鸢尾花分类预测 六:预测与实际比对 七:完整源码分享 一:加载数据 from sklearn.datasets import…

Jenkins启动项目时报错问题

问题 在工作中使用jenkins进行项目部署启动时遇到问题,项目构建成功但是发布时一直显示时间增加,但是项目本身并没有问题,使用传统方法部署项目也能正常启动。报错如下图所示: 解决方法 是由于jenkins文件中打印日志的问题&am…

PayPal,Stripe,Square轮询支付系统

轮询展示 展示我们轮询的页面 轮询套餐 根据不同的用户和需求,可以选择不同的套餐 普通版 1500元 1年 1个用户 支持Paypal/Stripe 不限制A站个数 不限制B站个数 不限制提交模式 订单管理 物流管理 风控管理 必要的网站数据处理 24小时远程协助 开始…

springcloud服务消费与熔断

今天与大家分享服务消费与熔断,就是说当我们服务消费者转发到服务生产者时,如果有那一步出现了问题或者error,可以进行服务熔断(服务降级),为了补救系统问题,不让用户使用时看见error报错信息&a…

《Java》String、StringBuffer、StringBuilder有什么区别?

目录 String StringBuffer StringBuilder 总结 ps:昨天在讨论完String的不可变性之后突然想要做一份总结笔记,总结一下String、StringBuffer、StringBuilder的区别 String String是Java中的基础类,提供了各种构造和对字符串的基本操作&am…

Cocos Creater(3.6.1)开发笔记——Typscript

文章目录项目入门关于cocos creator 3.x关于TypeScript新建项目VS setting json配置屏蔽项事件节点添加脚本(事件)案例代码素材使用技巧素材组合固定布局(类似css)项目入门 关于cocos creator 3.x 相当于cocos所有版本的功能的综…

初探MapReduce

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录MapReduce核心思想MapReduce编程模型MapReduce编程实例——词频统计思路1、Map阶段(映射阶段)2、Reduce阶段(归并阶段&#xff09…

VS2019下C#调用C++ DLL详解+数据转换

VS2019下C#调用C DLL详解数据转换 -C#调用OpenCV(c的.dll主要有两种常见的方式:托管和非托管两种形式! 非托管的形式即是采用[DllImport]的形式,这种形式只能调用的C的函数,适合用于简单的图形处理调用,这也…

正交编码器溢出处理

文章目录1.正交编码器1.1 参数特性1.2 应用范围2.正交编码器使用2.1 溢出问题2.2 中断模式2.3 循环模式延伸1.正交编码器 正交编码器一般指的是增量式光栅(磁栅)编码器,通常有三路输出信号,A相、B相、Z相,俗称ABZ编码器…

【2022年度系列工作总结】「国内软件质量调查问卷」针对于本年度软件质量分析总结报告

前提背景 针对于目前的软件行业而言,软件的质量目前越来越被大家所在关注,慢慢的QA以及SQA的角色也变得愈加重要。接下来我就针对于我司(XXX)的相关的实际开发情况对应的【2022年国内软件质量调查问卷】,为大家梳理和…

[附源码]计算机毕业设计Python大学生考勤管理系统论文(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

听说Linux基础指令很多?这里都帮你总结好了

✨个人主页: Yohifo 🎉所属专栏: Linux学习之旅 🎊每篇一句: 图片来源 🎃操作环境: CentOS 7.6 阿里云远程服务器 You can’t use up creativity. The more you use, the more you have. 创造力…

微软数据科学家助理(Data Scientist Associate)认证考试通过经验分享(DP-100)

今天冒着大疫情,去海淀的test center参加考试,通过了微软DP-100 在 Azure 上设计和实现数据科学解决方案,并且获得了经 Microsoft 认证:Azure 数据科学家助理 的证书。 经 Microsoft 认证:Azure 数据科学家助理 考试结…

Hadoop编译源码

文章目录第一章 Hadoop编译源码1.1 前期准备工作1.2 Jar包安装配置maven的环境变量在 mirrors节点中添加阿里云镜像安装gcc make配置环境变量1.3编译源码第二章 常见错误及解决方案第一章 Hadoop编译源码 1.1 前期准备工作 1)CentOS联网 配置CentOS能连接外网。Li…

力扣(LeetCode)1703. 得到连续 K 个 1 的最少相邻交换次数(C++)

贪心 将至少连续 KKK 个 111 放在一起。首先考虑他们是相邻着放在一起的,然后考虑性质 : 设相邻摆放后,起始 111 的位置是 mid{mid}mid ,对于每个 111 的位置 aia_iai​ ,它需要被摆放的位置是 amidia_{mid}iamid​i 。考虑一个等…

【Effective_Objective-C_2对象,消息,运行期2】

文章目录前言12.理解消息转发机制消息转发动态方法解析动态方法解析的前提备援接受者完整的消息转发消息转发全部流程要点总结13.用“方法调配技术”调试“黑盒方法”方法调配动态消息派发系统和IMP如何交换方法实现要点总结14.理解“类对象”的用意在类的继承体系中查询类型信…

【经济学】【综合篇】经济机器是怎样运行的

原视频:经济机器是怎样运行的 (时长30分钟) Ray Dalio 前言:经济与我们每一个人息息相关,经济社会的一些变革或举措也会直接或间接的反映到我们每个个体身上。了解经济,提高自己的认知,可以帮助我们更好的参与经济活动…

excel数据统计技巧:如何对表格区域内所含字母进行计数

小王是一家快餐店的财务人员。受疫情影响公司开展了店外销售业务,所有销售采取手工记账的方式。为了简化销售人员的工作量,为每种商品指定了一个字母代码,营业员只需要记录每一单销售的商品代码即可。下面是根据手工记账登记的销售记录表&…