使用Matplotlib绘制正弦和余弦函数曲线

前言

在数据可视化领域,Matplotlib是一个功能强大的Python库,它允许用户创建各种静态、交互式和动画图形。本文将引导您通过一个简单的示例,学习如何使用Matplotlib绘制正弦和余弦函数曲线。

第一步:导入必要的库
import numpy as np
import matplotlib.pyplot as plt
第二步:生成数据: 
x = np.linspace(0, 10, 1000)

使用NumPy的linspace函数,我们生成了一个包含1000个在0到10之间均匀分布的数值的数组。  

y = np.sin(x)

计算数组x中每个元素的正弦值,得到正弦函数数据。 

z = np.cos(x)

同样地,计算数组x中每个元素的余弦值,得到余弦函数数据。 

第三步:设置图形和绘制曲线
plt.figure(figsize=(10, 6))

 创建一个新的图形窗口,并设置其大小。

plt.plot(x, y, label='$\sin(x)$', color='red', linewidth=3)

绘制正弦函数曲线,设置标签、颜色和线宽。 

plt.plot(x, z, label='$\cos(x)$')
第四步:设置坐标轴和图例: 
plt.xlabel("Time (s)")
plt.ylabel("Amplitude")
plt.title("Sine and Cosine Functions")
plt.ylim(-1.2, 1.2)

设置x轴和y轴的标签,图形的标题,以及y轴的范围。同时,添加图例以标识不同的曲线。

plt.legend()

显示图例。

第五步:展示图形: 
plt.show()

执行此命令后,将展示我们绘制的正弦和余弦函数曲线图形。 

运行上述代码,您将得到一张展示正弦和余弦函数曲线的图表。如果一切顺利,您将看到两条曲线在指定的x值范围内波动。

代码总和
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,10,1000)
#用NumPy中的linspace函数生成一个包含1000个在0到10之间均匀分布的数值的数组,并将其赋值给x
y=np.sin(x)    
#计算数组x中每个元素的正弦值

z=np.cos(x)    
#计算数组x中每个元素的余弦值

plt.figure(figsize=(10,6))    
#创建一个新的图形窗口,并设置其大小为宽10英寸、高6英寸

plt.plot(x,y,label='$sin(x)$',color='red',linewidth=3)
#绘制x和y数组对应的曲线,设置曲线的标签为sin(x),颜色为红色,线宽为3

plt.plot(x,z,label='$cos(x)$')
绘制x和z数组对应的曲线,设置曲线的标签为cos(x),颜色为默认颜色

plt.xlabel("Time(s)")    
#设置x轴的标签为"Time(s)"

plt.ylabel("Volt")    
#设置y轴的标签为"Volt"

plt.title("PyPlot First Example")
#设置图形的标题为"PyPlot First Example"

plt.ylim(-1.2,1.2)   
#置y轴的范围为-1.2到1.2

plt.legend()   
#显示图例,其中包含每条曲线的标签

plt.show()    
#显示绘制的图形

大家记得看注释中的详细解释~

结语:

通过这个简单的示例,您已经学会了如何使用Matplotlib绘制基本的函数曲线。Matplotlib的强大功能远不止于此,它还可以用于创建更复杂的图表和可视化效果。希望您能继续探索并应用Matplotlib进行更深入的数据可视化分析。

大家加油,点赞收藏加关注,谢谢大家! 

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

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

相关文章

【智能优化算法】卷尾猴搜索算法(Capuchin search algorithm,CapSA)

【智能优化算法】卷尾猴搜索算法(Capuchin search algorithm,CapSA)是期刊“NEURAL COMPUTING & APPLICATIONS”(IF 6.0)的2021年智能优化算法 01.引言 【智能优化算法】卷尾猴搜索算法(Capuchin search algorithm,CapSA)用于解决约束和全局优化问…

【JVM】垃圾回收机制(Garbage Collection)

目录 一、什么是垃圾回收? 二、为什么要有垃圾回收机制(GC)? 三、垃圾回收主要回收的内存区域 四、死亡对象的判断算法 a)引用计数算法 b)可达性分析算法 五、垃圾回收算法 a)标记-清除…

OSPF虚链路

原理概述 通常情况下,一个OSPF网络的每个非骨干区域都必须与骨干区域通过ABR路由器直接连接,非骨干区域之间的通信都需要通过骨干区域进行中转。但在现实中,可能会因为各种条件限制,导致非骨干区域和骨干区域无法直接连接&#x…

Redis缓存雪崩,击穿,穿透问题

缓存雪崩、击穿、穿透、发生的背景 ​ 作者最近在写一个社区论坛项目,初始设想将论坛里用户发布的帖子内容存到数据库中,当用户访问论坛里的帖子时,帖子信息都从数据库中查。众所周知数据库的帖子数据是存在磁盘中的,而磁盘读写数…

串口初始化自己独立的见解--第九天

1.SM0,SM1 我们一般用 8位UART,波特率可变 (方式1的工作方式) SCON :SM2 一般不用,SM0 0 ,SM1 1 PCON : 有两位 我们不动它,不加速,初始值 TMOD:8位自动重装定时器&#xff0…

ADS基础教程11 - TouchStone文件的导出及导入

目录 一、 T o u c h S t o n e 介绍 \color{#4285f4}{ \mathbf{ 一、TouchStone介绍}} 一、TouchStone介绍 二、文件导出、导入方式 \color{#4285f4}{ \mathbf{ 二、文件导出、导入方式}} 二、文件导出、导入方式1.原理图操作1)原理图中导出2.原理图中导入 3.DDW中…

Python图形复刻——绘制母亲节花束

各位小伙伴,好久不见,今天学习用Python绘制花束。 有一种爱,不求回报,有一种情,无私奉献,这就是母爱。祝天下妈妈节日快乐,幸福永远! 图形展示: 代码展示: …

详解分布式锁

知识点: 单体锁存在的问题: 单体锁,即单体应用中的锁,通过加单体锁(synchronized或RentranLock)可以保证单个实例并发安全 单体锁是JVM层面的锁,只能保证单个实例上的并发访问安全 如果将单…

消除试卷手写笔迹的软件免费的有哪些?这几款都不错

消除试卷手写笔迹的软件免费的有哪些?在数字化学习的浪潮中,学生们越来越频繁地利用电子设备来完成学习任务。然而,当纸质试卷需要被数字化并再次利用时,如何高效地消除手写笔迹便成为了一个有待解决的问题。那么,今天…

【Linux】简易进度条的实现

🎉博主首页: 有趣的中国人 🎉专栏首页: Linux 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好,本片文章将会讲解Linux中进度条的实现的相关内容。 如果看到最后您觉得这篇文章写得…

coherence protocal基础

一致性整体抽象 coherence protocol是通过保证如下的两点invariants,来实现一致性的; SWMR invariant, 对于任何一个地址,任何时刻,都只会有一个core写,可能会有多个core读;Data-value invariant&#xf…

每天五分钟深度学习:数学中的极值

本文重点 在数学领域中,极值是一个极其重要的概念,它不仅在纯数学理论研究中占据核心地位,而且在工程、物理、经济等实际应用领域也发挥着不可替代的作用。极值问题涉及函数的最大值和最小值,是微积分学中的一个基本问题。本文旨在详细介绍数学中的极值概念、性质、求解方…

Python查询PostgreSQL数据库

哈喽,大家好,我是木头左! Python与PostgreSQL的连接 需要了解如何在Python中连接到PostgreSQL数据库。这通常涉及到使用一个库,如psycopg2,它是Python中用于PostgreSQL的最流行的适配器。安装psycopg2非常简单&#x…

202466读书笔记|《一天一首古诗词》——借问梅花何处落,风吹一夜满关山

202466读书笔记|《一天一首古诗词》——借问梅花何处落,风吹一夜满关山 上册下册 《一天一首古诗词》作者李锡琴,蛮早前加入书架的已购买书籍,这次刚好有点时间,利用起来读完。 赏析没有细看,只读了诗词部分&#xff0…

Cocos creator实现《战机长空》关卡本地存储功能

Cocos creator实现《战机长空》关卡本地存储功能 Cocos creator在开放小游戏过程中,经常会出现设置关卡,这里记录一下关卡数据本地存储功能。 一、关卡设置数据 假如我们有关卡数据如下, let settings [ { level: 1, // 第1关 score: 0,…

uniapp的app端推送功能,不使用unipush

1&#xff1a;推送功能使用htmlPlus实现&#xff1a;地址HTML5 API Reference (html5plus.org) 效果图&#xff1a; 代码实现&#xff1a; <template><view class"content"><view class"text-area"><button click"createMsg&q…

Spring框架学习笔记(一):Spring基本介绍(包含IOC容器底层结构)

1 官方资料 1.1 官网 https://spring.io/ 1.2 进入 Spring5 下拉 projects, 进入 Spring Framework 进入 Spring5 的 github 1.3 在maven项目中导入依赖 <dependencies><!--加入spring开发的基本包--><dependency><groupId>org.springframework<…

SpringBoot集成微信支付V3版本流程(商户平台篇)

一、前言 微信支付账号类型分为商户平台和合作伙伴平台&#xff0c;今天主要是梳理商品平台微信支付流程。 商品平台文档地址&#xff0c;(在接入前建议仔细阅读这份文档&#xff0c;会少走很多弯路!!!) 小程序下单 - 小程序支付 | 微信支付商户文档中心 二、接入流程 以下…

qml 和 c++类的数据交互

1、 新建一个需要交互的C++类 1)添加QObject头文件 2)添加自QObject的继承 3)添加Q_OBJECT宏 4)使用Q_PROPERTY,定义两个交互的属性,并设置读写的方法和变更属性的信号。 5)添加方法、槽函数和变量 2、在main.cpp中添加实例化对象的QML上下文 1)添加需要QML交互的…

多个.C文件被编译为一个可执行文件的详细过程

多个.C文件被编译为一个可执行文件的详细过程 文章目录 多个.C文件被编译为一个可执行文件的详细过程前言一、一个.C文件的编译过程二、多个.C文件的链接过程1.文件信息2.链接过程3.makefile 总结 前言 C语言经典的 “hello world ” 程序从编写、编译到运行&#xff0c;看到屏…