numpy与matplotlib 常用日常代码

matplotlab 和 numpy 可能是python 数据处理工作中用的最多的库了, 官网的文档十分详细,但是就是因为数量庞大,很多时候常用的功能和生僻冷门的功能混在一起,找不到重点。按照二八原则,掌握20%的功能就已经能应付绝大多数的场景了,这里我展示了一些自己常用的一些功能。

一、matplotlab

官方文档

  1. 用 axis 对象画一张图,axis 这个对象可以对途中的坐标轴、刻度、图例、标题进行操作,建议长期使用这个对象,尽量挖掘它的功能,习惯了之后很有用,不要直接用plt.plot()。
from matplotlib import pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, axis = plt.subplots()
axis.plot(x, y)
axis.set_title("aplitude")
axis.set_xlabel("time/s")
axis.set_ylabel("amplitude")
plt.show()

在这里插入图片描述
2. 一幅图中画两条曲线,并加上图例

fig, axis = plt.subplots()
axis.plot(x, y, label='this will be legend?')
axis.plot(x, y **2, label='this will be legend2?')
axis.legend()
axis.set_title("Sine Wave")
axis.set_xlabel("time/s")
axis.set_ylabel("amplitude")
plt.show()

在这里插入图片描述
3. 在一个 figure中使用多个子图,这个在深度学习很有用,比如可视化数据集中的一些小图

fig, axs = plt.subplots(2,3)
axs[0,0].plot(x, y, label='aa')
axs[0,0].plot(x, y*2, label='bb')
axs[0,0].set_title('linear')
axs[0,0].legend()

axs[0,1].plot(x, y**2)
axs[0,2].plot(x, y**3)
axs[1,0].plot(x, y**4)
axs[1,1].plot(x, y**5)
axs[1,2].plot(x, y**6)
plt.show()

在这里插入图片描述

二、Numpy 和 Matplotlab

  1. 半透明透明度的rbga 图片
# construct a rgba red image with numpy
import numpy as np
import matplotlib.pyplot as plt
# set alpha to 0.8
fig, axis = plt.subplots(1, 5)
for i in range(0,  5):
    im = np.zeros((100,100,4), dtype=np.uint8)
    im[:,:,0] = 255
    im[:,:,3] = (i+1)*255/5
    axis[i].imshow(im)
    axis[i].axis('off')
plt.show()

在这里插入图片描述

  1. 各种功能混和展示
import numpy as np
import random
import matplotlib.pyplot as plt
from math import sqrt
pi = 3.14159
h,w = 60,80

# 生成一个白布背景
white_blackground = np.full((h,w,3), 100, dtype=np.uint8)
fig, axis = plt.subplots(2,3)
axis[0][0].imshow(white_blackground)
# 生成像素颜色随机的rgb图片
random_color = np.random.randint(255, size=(h,w,3), dtype=np.uint8)
axis[0][1].imshow(random_color)
# 生成一张rgba图片
rgb_pic = np.zeros(shape=(h,w,4), dtype=np.uint8)
rgb_pic[:] = (255, 0, 0, int(0.7 * 255))
axis[0][2].imshow(rgb_pic)
# 生成像素颜色随机的灰度图片
random_gray = np.random.randint(255, size=(h,w, 1), dtype=np.uint8)
axis[1][0].imshow(random_gray, cmap="gray")
# 生成一个左白右黑的渐变图片
half_black = np.zeros((h,w),dtype=np.uint8)
half_black[:, :w//2] = 255
axis[1][1].imshow(half_black, cmap='gray')
# 生成一个强度满足高斯分布的灰度图片
raw = np.zeros((h,w), dtype=np.float32)
center = (h/2, w/2)
for i in range(h):
    for j in range(w):
        raw[i][j] =  sqrt((i-center[0]) ** 2 + (j - center[1]) ** 2)
def normal(X, scale=1.0):
    Y = -1 * (X ** 2 )/ (2 * scale ** 2)
    Y = np.exp(Y) / (sqrt(2* pi * scale))
    return Y
Y = normal(raw, scale=10.0) 
axis[1][2].imshow(Y)
plt.show()

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫——爬取天气预报信息

在本文中,我们将学习如何使用代理IP爬取天气预报信息。我们将使用 Python 编写程序,并使用 requests 和 BeautifulSoup 库来获取和解析 HTML。此外,我们还将使用代理服务器来隐藏我们的 IP 地址,以避免被目标网站封禁。 1. 安装必…

vue上传图片并修改png图片颜色

场景 当涉及到在 Vue 中上传图片并修改 PNG 图片的颜色时,这个任务涵盖了文件上传、图像处理、Canvas 操作等多个方面 在现代 Web 开发中,图片的处理是常见的需求之一。本文将带您深入探讨如何使用 Vue.js 来实现图片上传,并在客户端使用 Can…

小航助学Python编程NOC模拟卷(第1套)(含题库答题软件账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSD…

【springboot】mongoTemplate增删改查操作

目录 一、代码示例1.1 pom依赖1.2 application配置1.3 controller1.4 service 二、截图示例2.1 新增2.2 修改2.3 详情2.4 分页2.5 删除 一、代码示例 1.1 pom依赖 <!-- mongodb --> <dependency><groupId>org.springframework.boot</groupId><art…

如何批量修改图片名为不同名称

如何批量修改图片名为不同名称&#xff1f;当今社会&#xff0c;因为人们都养成了随手拍照的习惯&#xff0c;所以拥有上千上万张照片的相册已经司空见惯不足为奇。然而&#xff0c;我们在保存这些照片时往往都会碰到一个大难题——电脑中的图片名称千奇百怪&#xff0c;让整个…

STM32 printf函数

printf函数输出流程 用户调用printf()函数到C标准库调用printf函数相关部分&#xff0c;printf函数由编译器提供的stdio.h解析。包含在usart.h文件中。fputc()最终实现输出。用户需要根据最终输出的硬件重新定义该函数&#xff0c;此过程为&#xff1a;printf重定向。 printf的…

WebMagic - 创意前端项目集合(点击链接可在电脑上查看效果)

WebMagic - 创意前端项目集合 欢迎来到 WebMagic 仓库&#xff01;这里汇集了一系列令人惊叹的前端项目&#xff0c;涵盖了HTML5、CSS3和JS等多项技术。无论你是前端开发者、设计师&#xff0c;还是对创意互动内容感兴趣的人&#xff0c;这个仓库都将为你带来无尽的惊喜。 每…

高等数学教材重难点题型总结(三)微分中值定理和导数的应用

第三章&#xff0c;微分中值定理的证明题等&#xff0c;非常重要&#xff0c;需要牢牢掌握 1.证明中值定理对某函数在给定区间上的正确性 2.与中值定理有关的证明题 3.微分中值定理应用于求证不等式 4.洛必达法则求极限 5.洛必达的经典错误反例 6.按某项实现多项式幂展开 7.求带…

【网络】网络层——IP协议

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《网络》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 网络层中&#xff0c;IP协议首部和有效载荷组成的完整数据称为数据报。 IP协议 &#x1f349;TCP和IP的…

重建与突破,探讨全链游戏的现在与未来

全链游戏&#xff08;On-Chain Game&#xff09;是指将游戏内资产通过虚拟货币或 NFT 形式记录上链的游戏类型。除此以外&#xff0c;游戏的状态存储、计算与执行等皆被部署在链上&#xff0c;目的是为用户打造沉浸式、全方位的游戏体验&#xff0c;超越传统游戏玩家被动控制的…

新能源电动车充电桩控制主板安全特点

新能源电动车充电桩控制主板安全特点 你是否曾经担心过充电桩的安全问题?充电桩主板又是什么样的呢?今天我们就来聊聊这个话题。 充电桩主板采用双重安全防护系统&#xff0c;包括防水、防护、防尘等&#xff0c;确保充电桩安全、可靠。不仅如此&#xff0c;充电桩主板采用先…

C# Linq源码分析之Take (一)

概要 在.Net 6 中引入的Take的另一个重载方法&#xff0c;一个基于Range的重载方法。因为该方法中涉及了很多新的概念&#xff0c;所以在分析源码之前&#xff0c;先将这些概念搞清楚。 Take方法基本介绍 public static System.Collections.Generic.IEnumerable Take (this …

mybatis-plus 根据指定字段 批量 删除/修改

mybatis-plus 提供了根据id批量更新和修改的方法,这个大家都不陌生 但是当表没有id的时候怎么办 方案一: 手写SQL方案二: 手动获取SqlSessionTemplate 就是把mybatis plus 干的事自己干了方案三 : 重写 executeBatch 方法结论: mybatis-plus 提供了根据id批量更新和修改的方法,…

【Linux】POSIX信号量和基于环形队列的生产消费者模型

目录 写在前面的话 什么是POSIX信号量 POSIX信号量的使用 基于环形队列的生产消费者模型 写在前面的话 本文章主要先介绍POSIX信号量&#xff0c;以及一些接口的使用&#xff0c;然后再编码设计一个基于环形队列的生产消费者模型来使用这些接口。 讲解POSIX信号量时&#x…

rabbitMQ服务自动停止(已解决

1、 在rabbitmq的sbin目录下操作 rabbitmq-plugins enable rabbitmq_management 2、 自己去rabbitmq_server-3.7.5文件夹下创建一个data&#xff0c;再执行这个命令&#xff08;用自己的目录哈 set RABBITMQ_BASED:\RabbitTools\RabbitMQ\rabbitmq_server-3.7.5\data 然后去配…

执行Lua脚本后一直查询不到Redis中的数据(附带问题详细排查过程,一波三折)

文章目录 执行Lua脚本后一直查询不到Redis中的数据&#xff08;附带详细问题排查过程&#xff0c;一波三折&#xff09;问题背景问题1&#xff1a;Lua脚本无法切库问题2&#xff1a;RedisTemlate切库报错问题3&#xff1a;序列化导致数据不一致问题4&#xff1a;Lua脚本中单引号…

windows系统丢失mfc120u.dll的解决方法

1.mfc120u.dll是什么 mfc120u.dll是Windows操作系统中的一个动态链接库&#xff08;Dynamic Link Library&#xff0c;简称DLL&#xff09;文件。它包含了一些用于运行C程序的函数和其他资源。这个特定的DLL文件是Microsoft Foundation Classes&#xff08;MFC&#xff09;库的…

wireshark界面内容含义

网络分析工具——WireShark的使用&#xff08;超详细&#xff09;_世间繁华梦一出的博客-CSDN博客 wireshark抓包数据&#xff1a;理解与分析_wireshark里面length_ 佚名的博客-CSDN博客

app 自动化测试 - 多设备并发 -appium+pytest+ 多线程

1、appiumpython 实现单设备的 app 自动化测试 启动 appium server&#xff0c;占用端口 4723电脑与一个设备连接&#xff0c;通过 adb devices 获取已连接的设备在 python 代码当中&#xff0c;编写启动参数&#xff0c;通过 pytest 编写测试用例&#xff0c;来进行自动化测试…

python优雅地爬虫!

背景 我需要获得新闻&#xff0c;然后tts&#xff0c;在每天上班的路上可以听一下。具体的方案后期我也会做一次分享。先看我喜欢的万能的老路&#xff1a;获得html内容-> python的工具库解析&#xff0c;获得元素中的内容&#xff0c;完成。 好家伙&#xff0c;我知道我爬…