使用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),颜色为红色,线宽为3plt.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.2plt.legend()   
#显示图例,其中包含每条曲线的标签plt.show()    
#显示绘制的图形

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

结语:

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

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

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

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

相关文章

【漫画版】指挥官的排序战术:快速排序算法解密

作者介绍:10年大厂数据\经营分析经验,现任字节跳动数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python,欢迎探讨交流 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题…

基于自我对弈框架的偏好优化算法SPPO

传统的从人类反馈中进行强化学习(RLHF)的方法仰赖如Bradley-Terry模型等参数模型,但这样的模型难以充分捕捉人类偏好中的非递移性和非理性。最新的研究进展显示,直接使用偏好机率可以更准确地反映人类偏好,从而实现更灵活、更精确的语言模型对齐。本文提…

教你解决PUBG绝地求生登不进去 无法进入游戏 启动很慢的问题

尽管《绝地求生》(PUBG)以它那扣人心弦的战术竞技和逼真模拟的战场氛围风靡全球,揽获无数玩家的喜爱,但一些玩家在经历了一场血脉喷张的生存较量后,却不得不面对一个不那么愉悦的后续:游戏在结算阶段后出现…

从某CIM厂12寸项目中止导入谈起

最近在网上开始传播, 两12吋新建Fab中止某CIM导入,CIM国产化路往何方? 从文中我已经知道了这家公司是谁了,看到这个情况,还是感触良多。内部居然还有股权进行内部交易得情况,可见当时多少去博一把了&…

02.02.返回倒数第k个节点

实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。 注意:本题相对原题稍作改动 示例: 输入: 1->2->3->4->5 和 k 2 输出: 4 说明: 给定的 k 保证是有效的。 代码&#xff…

2批!2024年武汉市科技企业孵化器、众创空间申报时间、流程

2024年武汉市科技企业孵化器、众创空间申报时间、流程等内容如下,武汉市各区县的企业单位可以了解一下 申报时间 2024-04-22 至 2024-09-14 支持方式 武汉市2024年度科技企业孵化器认定和众创空间备案申报 申报条件 1、市级认定(备案)&a…

跨平台应用开发神器Uniapp

Uniapp是一款基于Vue.js框架的跨平台应用开发框架。它可以将同一份代码编译生成多个应用程序,包括iOS、Android、H5、小程序等。在这篇文章中,我们将详细介绍Uniapp的特点、优势以及如何使用Uniapp开发跨平台应用。 一、Uniapp的特点 1、跨平台开发 U…

YOLOv5改进 | 注意力机制 | 理解全局和局部信息的SE注意力机制

在深度学习目标检测领域,YOLOv5成为了备受关注的模型之一。本文给大家带来的是能够理解全局和局部信息的SE注意力机制。文章在介绍主要的原理后,将手把手教学如何进行模块的代码添加和修改,并将修改后的完整代码放在文章的最后,方…

C语言/数据结构——每日一题(分割链表)

一.前言 今天在LeetCode觉得很不错,想和大家们一起分享这道链表题——分割链表:https://leetcode.cn/problems/partition-list-lcci废话不多说,让我们直接进入正题吧。 二.正文 1.1题目描述 1.2题目分析 大致思路:我们可以通过…

从头开始的建材类电商小程序开发指南

在当今数字化时代,小程序已经成为了许多企业推广和销售的重要渠道。对于建筑材料行业来说,开发一个属于自己的小程序商城不仅可以提升产品曝光度,还可以提供更好的用户购物体验。下面,我们将逐步教你如何开发建筑材料行业小程序。…

未来趋势系列 篇一:AI主题全景分析和股票梳理

文章目录 系列文章全景分析算力算力租赁液冷英伟达AI服务器AI芯片光模块AIPC云计算AIGC大模型KIMI、SORA、秘塔AI股票梳理系列文章 未来趋势系列 篇一:AI主题全景分析和股票梳理<

typescript 中的接口及其用途

接口&#xff1a;定义行为动作的规范 属性接口、函数类型接口、可索引接口、类类型接口、 1、属性接口 对JSON的约束 function printLabel(label: string): void {console.log(printLabel); } printLabel(字符串)function printLabel2(labelInfo: { label: string }): void {…

文章分享:《肿瘤DNA甲基化标志物检测及临床应用专家共识(2024版)》

本文摘自于《肿瘤DNA甲基化标志物检测及临床应用专家共识&#xff08;2024版&#xff09;》 目录 1. DNA甲基化标志物概述 2 DNA甲基化标志物的临床检测 2.1 临床样本前处理注意事项 2.2 DNA甲基化标志物检测技术方法 2.2.1 DNA提取与纯化 2.2.2 DNA转化 2.2.3 DNA 甲基…

Oracle 19C 传输表空间之-Windows 至 Linux

1、源端步骤&#xff08;Windows &#xff09;&#xff1a; SQL> col platform_name for a40 SQL> SELECT * FROM V$TRANSPORTABLE_PLATFORM ORDER BY PLATFORM_ID; PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT CON_ID ----------- -…

翻工第二次 Ant Design Pro 下载,发现问题,电脑网络配置有误,魔法了

一、相关网址链接 鱼皮的用户中心项目 &#xff08;前端Ant Design Pro构建&#xff09; 语雀 ## 没有选择umi版本这一步 Issue #11144 ant-design/ant-design-pro GitHub 关于umi ui图标未显示问题_umi ui不出现-CSDN博客 二、存在问题 导致下载速度慢 本人镜像代码写…

关于emulate

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。 enumerate() 函数的主要优势在于简化代码和提高可读性。它解决了在遍历可迭代对象时需要手动跟踪索引的问题。这在需要同时访问元素…

AI实景模型无人自动直播助手.减少商家在短视频线上卖货的成本,开启无人直播新时代!

在互联网时代&#xff0c;直播已经成为信息传播的主流方式&#xff0c;尤其是在年轻人中&#xff0c;直播更是备受追捧。然而&#xff0c;对于许多想要尝试直播的人来说&#xff0c;缺乏合适的主播可能成为一大障碍。那么&#xff0c;面对这一难题&#xff0c;如何实现手机无人…

C++ 常量

常量是指在程序运行过程中&#xff0c;其值不能被改变的量。 如&#xff1a;i255;arearr3.14; 在程序中直接使用数值有两个问题&#xff1a; 可读性差&#xff1b; 可维护差&#xff1b; 一 符号常量 C语言符号常量的顶用形式如下&#xff1a; 二 C99的const常量 C 语言co…

【C++】学习笔记——优先级队列

文章目录 十、优先级队列1. priority_queue的介绍2. 优先级队列如何使小的数据优先级高3. 仿函数介绍4. priority_queue的模拟实现 补&#xff1a; 反向迭代器未完待续 十、优先级队列 1. priority_queue的介绍 优先级队列 其实也不属于队列&#xff0c;它跟 stack 和 queue …

逗号运算符后不能和 return、break、continue 连用

【知识点】 为了简单直观&#xff0c;有的人喜欢将两条语句用逗号运算符隔开&#xff0c;写到一行。这在多数情况下&#xff0c;没有问题。但是&#xff0c;逗号运算符后不能和 return、break、continue 等连用。否则&#xff0c;就会报错&#xff1a;[Error] expected primary…