python中使用matplotlib绘图

一、背景

当我们在写python程序时,不可避免的需要将数据可视化,也就是绘制出数据的曲线图,以便我们更直观的观察数据间的变化,以及方便对比。此时就要用到matplotlib库了。
matplotlib官方给出的定义是:

在这里插入图片描述
翻译过来也就是:
Matplotlib:使用python进行可视化。

Matplotlib是一个用于在Python中创建静态、动画和交互式可视化的综合库。Matplotlib使容易的事情变得更容易,使困难的事情成为可能。

matplotlib官网:https://matplotlib.org/

二、一个简单的绘图例子和解析

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
# from matplotlib import pyplot as plt
t = np.linspace(0, 2*np.pi, 100)
print(1.5*np.pi)
y_demo = np.zeros((2, 100))
y_demo[0,:] = np.sin(t)
y_demo[1,:] = np.cos(t)
plt.figure(figsize=(10, 7))
plt.plot(y_demo[0, :], 'g-.', label='demo sine')
plt.plot(y_demo[1, :], 'm', label='demo cosine')
plt.legend(loc="lower left")
plt.grid()
plt.xlabel('time')
plt.ylabel('y')
plt.show()print(y_demo)

绘制出的结果为:
在这里插入图片描述
代码解析:
1、import numpy as np导入numpy库,进行一些数学运算;
2、import matplotlib.pyplot as plt导入matplotlib库的pyplot模块,这个就是绘图的库,当然也可以写为:from matplotlib import pyplot as plt
3、t = np.linspace(0, 2*np.pi, 100)定义横坐标 t t t,为0到 2 π 2\pi 2π,并将其分为100份,也就是从0到99(python是从0开始索引的)
4、y_demo = np.zeros((2, 100))定义纵坐标y_demo,这里2是指两条曲线,且此处的100必须和步骤3的100对应,如果步骤3改为500,此处也应改为500。np.zeros是构造一个全0的数组,这里也就是构造2行100列的全零数组;
5、y_demo[0,:] = np.sin(t),第一个函数的纵坐标是y_demo[0,:],切记python是从0检索
6、y_demo[1,:] = np.cos(t),第二个函数的纵坐标是y_demo[1,:]
7、plt.figure(figsize=(10, 7))绘制的图片大小为10*7
8、plt.plot(y_demo[0, :], 'g-.', label='demo sine')使用plot绘制第一条曲线,颜色g是绿色,线的类型是----,曲线名称为demo sine
9、plt.plot(y_demo[1, :], 'm', label='demo cosine')使用plot绘制第二条曲线,颜色m是红色,线的类型是实线,曲线名称为demo cosine
10、plt.legend(loc=“lower left”)为添加图例,loc可是指定图例位置,可以选择'best', 'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'upper center', 'center'
11、plt.grid()为图片添加网格,好看一些
12、plt.xlabel('time')和plt.ylabel('y')为添加横纵坐标标签
13、plt.show()显示图片

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

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

相关文章

云HIS 医院综合运营管理系统源码

医院管理信息系统(HIS)是医院基本、重要的管理系统,是医院大数据的基础。 基于云计算的云医疗信息系统(云HIS)。以SaaS的方式提供服务,系统遵循服务化、模块化原则开发,具有强大的可扩展性&…

深度学习-学习率调度,正则化,dropout

正如前面我所说的,各种优化函数也依赖于学习率,保持学习率恒定总是有所限制,在执行梯度下降过程中,我们可以使用各种方法来调节训练过程的学习率,这里只是稍微介绍一下,不会写代码实现的。同时,…

Apache DolphinScheduler 在奇富科技的首个调度异地部署实践

奇富科技(原360数科)是人工智能驱动的信贷科技服务平台,致力于凭借智能服务、AI研究及应用、安全科技,赋能金融机构提质增效,助推普惠金融高质量发展,让更多人享受到安全便捷的金融科技服务。作为国内领先的…

Java BigDecimal 详解

目录 一、BigDecimal 1、简介 2、构造器描述 3、方法描述 4、使用 一、BigDecimal float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它…

树莓派(Linux系统通用)交叉编译(环境搭建、简单使用)

概念 交叉编译是指在一台计算机上编译运行在另一台计算机上的程序。(编译是指,在一个平台上生成在该平台上的可执行程序)通常情况下,编译器和目标平台的架构是不同的,例如,在一台x86平台上编译运行在ARM平…

数据结构-----二叉树的创建和遍历

目录 前言 二叉树的链式存储结构 二叉树的遍历 1.前序遍历 2.中序遍历 3.后序遍历 二叉树的创建 创建一个新节点的函数接口 1.创建二叉树返回根节点 2.已有根节点,创建二叉树 3.已有数据,创建二叉树 前言 在此之前我们学习了二叉树的定义和储…

6种最常用的3D点云语义分割AI模型对比

由于增强现实/虚拟现实的发展及其在计算机视觉、自动驾驶和机器人领域的广泛应用,点云学习最近引起了人们的关注。 深度学习已成功用于解决 2D 视觉问题,然而,由于其处理面临独特的挑战,深度学习技术在点云上的使用仍处于起步阶段…

【Vue3】v-model

v-model 基本用法 prop: modelValue 事件&#xff1a;update:modelValue <!-- App.vue --><template><div><h1>我是父组件</h1><div>isShow: {{ isShow }}</div><div><button click"isShow !isShow">开关&…

nodejs+vue大学食堂订餐系统elementui

可以查看会员信息&#xff0c;录入新的会员信息&#xff0c;对会员的信息进行管理。 网站管理模块对整个网站中的信息进行管理&#xff0c;可以查看会员留在留言栏中的信息&#xff0c;设置网站中的参数等。用户管理模块主要实现用户添加、用户修改、用户删除等功能。 近年来&…

Oracle实现主键字段自增

Oracle实现主键自增有4种方式&#xff1a; Identity Columns新特性自增&#xff08;Oracle版本≥12c&#xff09;创建自增序列&#xff0c;创建表时&#xff0c;给主键字段默认使用自增序列创建自增序列&#xff0c;使用触发器使主键自增创建自增序列&#xff0c;插入语句&…

MySQL MHA 高可用

目录 1 MySQL MHA 1.1 什么是 MHA 1.2 MHA 的组成 1.3 MHA 的特点 2 搭建 MySQL MHA 2.1 Master、Slave1、Slave2 节点上安装 mysql5.7 2.2 修改 Master、Slave1、Slave2 节点的主机名 2.3 修改 Master、Slave1、Slave2 节点的 Mysql主配置文件/etc/my.cnf 2.4 在 Mast…

图像采集卡在应用程序的重要性概述

达到最大吞吐量是工业和工厂自动化的关键标准之一。提高传感器分辨率和帧速率有助于实现目标&#xff0c;但会限制带宽&#xff0c;并带来新的传输问题。图像采集卡是将相机连接到PC的最方便、最可靠的方式&#xff0c;在工业环境中使用图像采集卡为高速应用带来了特定的好处&a…

[C++ 网络协议] 异步通知I/O模型

1.什么是异步通知I/O模型 如图是同步I/O函数的调用时间流&#xff1a; 如图是异步I/O函数的调用时间流&#xff1a; 可以看出&#xff0c;同异步的差别主要是在时间流上的不一致。select属于同步I/O模型。epoll不确定是不是属于异步I/O模型&#xff0c;这个在概念上有些混乱&a…

【深度学习】【Opencv】Python/C++调用onnx模型【基础】

【深度学习】【Opencv】python/C调用onnx模型【基础】 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【Opencv】python/C调用onnx模型【基础】前言Python版本OpenCVWindows平台安装OpenCVopencv调用onnx模型 C版本OpenCVWindows平…

spring bean实例化过程及顺序

spring bean的初始化从doCreateBean方法开始&#xff0c;依次会调用下面三个方法执行bean的初始化。大部分方法都在AbstractAutowireCapableBeanFactory类中。 实例化 createBeanInstance()方法根据BeanDef获取bean对应的class通过反射调用构造函数进行bean的实例化。 这里会…

视频汇聚平台EasyCVR从一分屏切换到四分屏后加载记录显示黑屏该如何解决?

视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等&#xff0c;视频智能分析平台EasyCVR融合性强、开放度…

基于STM32+华为云IOT设计的智能门禁系统

一、项目介绍 智能门禁系统是一种应用物联网技术的智能化安防系统&#xff0c;提供安全高效的门禁管理和远程监控功能。传统的门禁系统通常使用磁卡、密码或钥匙等方式进行开锁&#xff0c;但存在易丢失、易复制、操作繁琐等问题。为了解决这些问题&#xff0c;并提高门禁安全…

Spring学习笔记13 Spring对事务的支持

Spring学习笔记12 面向切面编程AOP-CSDN博客 什么是事务:在一个业务流程当中,通常需要多条DML(insert delete update)语句共同联合才能完成,这多条DML语句必须同时成功,或者同时失败,这样才能保证数据的安全. 多条DML要么同时成功,要么同时失败,叫做事务(Transaction) 事务四…

ARM IIC总线实现温湿传感器

IIC.h #ifndef __IIC_H__ #define __IIC_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h"/* 通过程序模拟实现I2C总线的时序和协议* GPIOF ---> AHB4* I2C1_SCL ---> PF14* I2C1_SDA ---> PF15** */#define SET_SDA_OUT do{G…

机器人过程自动化(RPA)入门 3. 顺序、流程图和控制流程

到目前为止&#xff0c;我们已经了解了RPA是什么&#xff0c;并且我们已经看到了通过记录任务的活动并运行它来训练UiPath机器人是多么简单。使用记录器的UiPath可以很容易地自动化日常任务。在我们开始自动化复杂的任务之前&#xff0c;让我们学习如何控制从一个到另一个的活动…