当前位置: 首页 > news >正文

python可视化matplotlib——绘制正弦和余弦

 这是一个使用matplotlib库绘制正弦和余弦函数曲线的代码示例。代码中导入了需要的库,并设置了x轴和y轴的标签字体为华文楷体。然后,使用numpy生成一组x轴上的值t,并使用正弦函数生成对应的y轴值s,再使用余弦函数生成对应的y轴值z。最后,使用plot函数分别绘制正弦和余弦曲线,并添加图例和标签,最后调用show函数显示图形。

import numpy as np
import pylab as pl
import matplotlib.font_manager as fmmyfont=fm.FontProperties(fname=r'C:\Windows\Fonts\STKAITI.ttf')
t=np.arange(0.0,2.0*np.pi,0.001)
s=np.sin(t)
z=np.cos(t)
pl.plot(t,s,label='正弦')
pl.plot(t,z,label='余弦')
pl.xlabel('x-变量',fontproperties='STKAITI',fontsize=12)
pl.ylabel('y-变量',fontproperties='STKAITI',fontsize=12)
pl.legend(prop=myfont)
pl.show()

 

 

 

 

根据代码,可以将其分为以下几个部分:

  1. 导入库:
import numpy as np
import pylab as pl
import matplotlib.font_manager as fm

这部分代码导入了NumPy库、pylab库和matplotlib的font_manager模块,用于后面的数据处理和图形绘制。

  1. 设置字体:
myfont = fm.FontProperties(fname=r'C:\Windows\Fonts\STKAITI.ttf')

这行代码使用matplotlib的font_manager模块中的FontProperties函数,将字体文件路径作为参数传入,创建了一个字体属性对象myfont,用于在后面的图形绘制中设置字体样式。

  1. 生成数据:
t = np.arange(0.0, 2.0 * np.pi, 0.001)

这行代码使用NumPy库中的arange函数生成一个从0到2π的数组,步长为0.001,这个数组t将作为后面正弦和余弦函数的输入。

  1. 计算正弦和余弦值:
s = np.sin(t)
z = np.cos(t)

这两行代码使用NumPy库中的sin和cos函数分别计算数组t中每个元素的正弦值和余弦值,并将结果分别赋值给变量s和z。

  1. 绘制曲线:
pl.plot(t, s, label='正弦')
pl.plot(t, z, label='余弦')

这两行代码使用pylab库中的plot函数分别以数组t为x轴,数组s为y轴绘制正弦曲线,以及以数组t为x轴,数组z为y轴绘制余弦曲线。label参数指定曲线的标签。

  1. 设置标签:
pl.xlabel('x-变量', fontproperties='STKAITI', fontsize=12)
pl.ylabel('y-变量', fontproperties='STKAITI', fontsize=12)

这两行代码使用pylab库中的xlabel和ylabel函数分别设置x轴和y轴的标签,通过fontproperties参数将字体样式设置为之前定义的myfont对象,并通过fontsize参数设置字体大小为12。

  1. 添加图例:
pl.legend(prop=myfont)

这行代码使用pylab库中的legend函数添加图例,通过prop参数将字体样式设置为之前定义的myfont对象,即图例的字体样式与坐标轴标签的字体样式相同。

  1. 显示图形:
pl.show()

这行代码使用pylab库中的show函数显示绘制的图形。

http://www.lryc.cn/news/143732.html

相关文章:

  • Day48|leetcode 198.打家劫舍、213.打家劫舍II、打家劫舍|||
  • Mysql001:Mysql概述以及安装
  • 如何调用api接口获取到商品数据
  • http请求方式过滤器与拦截器的区别
  • 大语言模型初学者指南 (2023)
  • 日常生活小技巧 -- 单位换算
  • 利用深度蛋白质序列嵌入方法通过 Siamese neural network 对 virus-host PPIs 进行精准预测【Patterns,2022】
  • opencv 车牌号的定位和识别+UI界面识别系统
  • 如何使用CSS实现一个自适应两栏布局,其中一栏固定宽度,另一栏自适应宽度?
  • 【PostgreSQL】导出数据库表(或序列)的结构和数据
  • Arcgis colorRmap
  • [JDK8环境下的HashMap类应用及源码分析] capacity实验
  • 【自动驾驶】TI SK-TDA4VM 开发板上电调试,AI Demo运行
  • 基于LOF算法的异常值检测
  • 软考-系统可靠性原理
  • 【Unity】【Amplify Shader Editor】ASE入门系列教程第二课 硬边溶解
  • 对神经网络理解的个人记录
  • 华为数通方向HCIP-DataCom H12-821题库(单选题:61-80)
  • Unity带有时效性的数据存储
  • vue 子组件 emit传递事件和事件数据给父组件
  • Zenity 简介
  • c# 数组反转
  • CSS学习笔记01
  • 数据结构,队列,顺序表队列,链表队列
  • Webgl利用缓冲区绘制三角形
  • 正则表达式应用
  • 9.4 【C语言】用指针处理链表
  • 后端面试话术集锦第四篇:rabbitmq面试话术
  • Linux目录结构与文件管理(01) (三)
  • OpenCV为老照片,黑白照片增加色彩