Matplotlib数据可视化

news2025/2/25 20:38:18

Matplotlib是⼀个Python 2D,3D绘图库,它以多种硬拷⻉格式和跨平台的交互式环境⽣成出版物质量的图形。 MatplotlibMatplotlib中文网、Matplotlib官方中文文档。https://www.matplotlib.org.cn/

1.模块导⼊

import matplotlib.pyplot as plt    #使⽤pyplot API

import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体,解决中⽂⽆法显示问题

 2.绘制点和线

#使⽤scatter⽅法绘制⼀个点
x1 = np.array([6])
y1 = np.array([4])
plt.scatter(x1,y1)
plt.show()

#使⽤plot⽅法绘制⼀条ju线
x2 = np.array([1,9])
y2 = np.array([1,8]) 
plt.plot(x2,y2)
plt.show()

 #把点和线画在⼀起,并设置样式
plt.scatter(x1,y1,color='blue') 
plt.plot(x2,y2,color='red',linewidth=3,linestyle='--')
plt.text(5.2, 3, '⽂字说明',fontdict={'size': 16, 'color': 'b'})
plt.show()

 

3.使⽤figure绘制多图

⼀个figure代表⼀张图;

上⾯的例⼦,直接调⽤scatter(),默认为⽤户创建了⼀张图figure;如果要定制图的属性,⽐如:⼤⼩,就要显示的创建⼀个figure

#再创建⼀张图,并且设置图的⼤⼩是宽=3cm,⾼=5cmplt.figure(figsize=(3,5))

#(2,2,1)中,表示22列,1表示索引位置;从左上⻆到右下⻆依次增加;⼦图矩阵⾏列数<10,所以(2,2,1)也可以写成(221

plt.subplot(2,2,1) plt.plot(x2,y2,color='red',linewidth=3,linestyle='--') plt.text(5.2, 3, '1',fontdict={'size': 16, 'color': 'b'}) plt.subplot(2,2,2) plt.plot(x2,y2,color='red',linewidth=3,linestyle='--') plt.text(5.2, 3, '2',fontdict={'size': 16, 'color': 'b'}) plt.subplot(2,2,3) plt.plot(x2,y2,color='red',linewidth=3,linestyle='--') plt.text(5.2, 3, '3',fontdict={'size': 16, 'color': 'b'}) plt.subplot(2,2,4) plt.plot(x2,y2,color='blue',linewidth=3,linestyle='--') plt.text(5.2, 3, '4',fontdict={'size': 16, 'color': 'b'})

 4.设置坐标(#当全是数字时,就会按照数值从⼩到⼤有序排列)

x=[25,'Feb','Mar',20,'May']
y=['h',100,'c',33,'k']
plt.plot(x,y)

设置坐标范围

 plt.xlim(0,8)    #设置x轴坐标范围,从0到8 
plt.ylim(0,5)    #设置y轴坐标范围,从0到5 
plt.scatter(x1,y1,color='blue')
plt.plot(x2,y2,color='red',linewidth=3,linestyle='--')
plt.show()

设置坐标标签

 plt.xlabel('I am x',fontsize=15) #设置x轴坐标标签 
plt.ylabel('我是y',fontsize=15) #设置y轴坐标标签
plt.scatter(x1,y1,color='blue')
plt.plot(x2,y2,color='red',linewidth=3,linestyle='--')
plt.show()

 设置图例

x3 = x2
y3 = y2 + 3
plt.plot(x2,y2,color='red',linewidth=3,linestyle='--', label='红⾊haha')
plt.plot(x3,y3,color='blue',linewidth=3,linestyle='-', label='蓝⾊')
#图例上显示的⽂字图元等信息均来源于plot函数中的label、linestyle、color等属性;
plt.legend(loc='lower right')
plt.show()

 

plt.annotate()函数⽤于在图中做⽂字标注;第⼀个参数s为标注的⽂字;

xy参数为被标注的坐标点;

xycoords='data'表示使⽤被注释对象的坐标系统(默认) xytext=(+30, -30)表示标注的⽂字的位置;

textcoords='offset points'表示标注的⽂字的位置使⽤相对于被标注的坐标点的偏移量,(+30, -30)表示相对于被标注点,向右移动30,再向下移动30;这⾥的单位是像素;

arrowprops⽤于设置箭头属性;参数类型为字典dict

width:箭头的宽度(以点为单位) ;headwidth:箭头底部以点为单位的宽度; headlength:箭头的⻓度(以点为单位) ;shrink:总⻓度的⼀部分,从两端收缩” ;facecolor:箭头颜⾊

(%s,%s)⽤了类似print函数的表达,传递参数进⼊字符串;两个参数被赋值% xy, xy=xy zip(x, y)就是把两个数组糅在⼀起;x=[1, 2, 3, 4, 5 ]y=[6, 7, 8, 9, 10]zip(x, y)就得到了

[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)],每个元素是⼀个元组;

x = np.arange(0, 6)
y = x * x
plt.plot(x, y, marker='o')
for xy in zip(x, y):
    plt.annotate("(%s,%s)" % xy, xy=xy, xytext=(-20, 10), textcoords='offset points',weight='heavy',color='y')
plt.show()

 

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

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

相关文章

分布式事务详解

&#x1f3c6;今日学习目标&#xff1a; &#x1f340;分布式事务详解 ✅创作者&#xff1a;林在闪闪发光 ⏰预计时间&#xff1a;30分钟 &#x1f389;个人主页&#xff1a;林在闪闪发光的个人主页 &#x1f341;林在闪闪发光的个人社区&#xff0c;欢迎你的加入: 林在闪闪发光…

Web 攻防之业务安全:密码找回安全案例总结.

Web 攻防之业务安全&#xff1a;密码找回安全案例总结 业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台&#xff08;操作系统、数据库&#xff0c;中间件等&#xff09;、业务系统自身&#xff08;软件或设备&#xff09;、业务所…

微软New Bing初体验:AI时代的搜索引擎(内含体验方法)

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

AI未来十年新范式,生成式人工智能的挑战与机遇

目录0 写在前面1 什么是生成式模型&#xff1f;2 生成式模型的挑战3 自主智能新架构4 持续学习与表征解耦4.1 学习范式4.2 学习架构5 生成式AI与元宇宙6 智慧文档&#xff1a;赋能数字化转型7 结语0 写在前面 2023年3月18日&#xff0c;由中国图象图形学学会&#xff08;CSIG&…

【李老师云计算】HBase+Zookeeper部署及Maven访问

索引前言1. Zookeeper1.1 主机下载Zookeeper安装包1.2 主机解压Zookeeper1.3 ★解决解压后文件缺失1.4 主机配置Zookeeper文件1.4.1 配置zoo_sample.cfg文件1.4.2 配置/data/myid文件1.5 主机传输Zookeeper文件到从机1.6 从机修改Zookeeper文件1.6.1 修改zoo.cfg文件1.6.2 修改…

生成器设计模式(Builder Design Pattern)[论点:概念、图示、示例、框架中的应用、场景]

文章目录概念相关图示代码示例框架中的应用场景多个生成器&#xff08;Concrete Builder&#xff09;&#xff1a;单个生成器概念 生成器设计模式&#xff08;Builder Design Pattern&#xff09;是一种创建型设计模式&#xff0c;用于处理具有多个属性和复杂构造过程的对象。生…

【Linux学习】信号——信号保存 | 信号处理 | 不可重入函数,volatile,SIGCHLD信号

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 信号的产生以及详细讲解了&#xff0c;有兴趣的小伙伴可以去看看&#xff0c;传送门。接下来介绍…

快速尝鲜Oracle 23c免费开发者版,惊喜多多

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

hive数据仓库--Hive介绍

1 什么是HiveHive是基于Hadoop的⼀个数据仓库⼯具&#xff0c;⽤来进⾏数据提取、转化、加载&#xff0c;这是⼀种可以存储、查询和分析存储在Hadoop中的⼤规模数据的机制。Hive数据仓库⼯具能将结构化的数据⽂件映射为⼀张数据库表&#xff0c;并提供类SQL的查询功能&#xff…

spring(七):事务操作

spring&#xff08;七&#xff09;&#xff1a;事务操作前言一、什么是事务二、事务四个特性&#xff08;ACID&#xff09;三、事务操作&#xff08;搭建事务操作环境&#xff09;四、事务操作&#xff08;Spring 事务管理介绍&#xff09;五、事务操作&#xff08;注解声明式事…

SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】

文章目录前言1、分布式情况下如何加锁2、具体实现过程3、测试3.1 一个服务按照多个端口同时启动3.2 使用jmeter进行压测前言 上一篇实现了单体应用下如何上锁,这一篇主要说明如何在分布式场景下上锁 上一篇地址:加锁 1、分布式情况下如何加锁 需要注意的点是: 在上锁和释放…

C/C++每日一练(20230412)

目录 1. 二维数组找最值 &#x1f31f;&#x1f31f; 2. 排序 &#x1f31f; 3. 二叉树展开为链表 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 二维…

使用ebpf 监控golang 应用

一、背景 使用ebpf 监控grpc-go的应用&#xff0c;grpc-go http2 client的处理点 func (l *loopyWriter) writeHeader(streamID uint32, endStream bool, hf []hpack.HeaderField, onWrite func()) error { ...... }// operateHeaders takes action on the decoded headers. f…

大数据 | Hadoop集群搭建(完全分布式)

知识目录一、前言二、配置三台虚拟机2.1 克隆三台虚拟机2.2 配置克隆的虚拟机2.3 使用Xshell连接虚拟机2.4 配置SSH免密登录三、Hadoop集群准备3.1 安装 rsync3.2 安装xsync分发脚本3.3 安装JDK和安装Hadoop3.4 配置环境变量3.5 分发四、Hadoop集群搭建4.1 修改配置文件4.2 配置…

Python数据分析案例24——基于深度学习的锂电池寿命预测

本期开始案例较为硬核起来了&#xff0c;适合理工科的硕士&#xff0c;人文社科的同学可以看前面的案例。 案例背景 这篇文章是去年就发了&#xff0c;刊物也印刷了&#xff0c;现在分享一部分代码作为案例给需要的同学。 原文链接&#xff08;知网文章 C核&#xff09;&…

OSPF的优化

O_ASE --- 标志域外路由信息 --- 因为域外的路由信息不可控性较强&#xff0c;所以&#xff0c;信任程度较低&#xff0c;我们将其优先级设置为150。 LSA --- 链路状态通告 --- OSPF协议在不同网络环境下产生的用于携带和传递不同的信息。 LSDB --- 链路状态数据库 SPF --- 最短…

【数据分析实战】基于python对Airbnb房源进行数据分析

文章目录&#x1f4da;引言&#x1f4d6;数据加载以及基本观察&#x1f4c3;缺失值观察及处理&#x1f516;缺失值观察以及可视化&#x1f516;缺失值处理&#x1f4c3;异常值观察及处理&#x1f4d6;数据探索&#x1f4a1;哪个区域的房源最受欢迎&#xff1f;&#x1f4a1;哪种…

基于opencv的边缘检测方法

1、梯度运算 用OpenCV的形态变换&#xff08; 膨胀、腐蚀、开运算和闭运算&#xff09;函数morphologyEx 梯度运算即膨胀结果-腐蚀结果&#xff1a; 【注意】对于二值图像来说&#xff0c;必须是前景图像为白色&#xff0c;背景为黑色&#xff0c;否则需要进行反二值化处理 …

Mybatis【第一个 Mybatis 程序】

目录 一、Maven 环境配置 1、配置 pom.xml 1.1、依赖的 jar包 1.2、防止资源导出失败 2、在resources下编写 Mybatis核心配置文件 二、搭建结构 1、编写mybatis工具类&#xff08;utils&#xff09; 2、编写实体类&#xff08;pojo&#xff09; 3、Mybatis 的实现&…

【Vue3实践】(六)Vue3使用vite处理环境变量、打包部署、nginx配置

文章目录1.前言2.环境变量2.1.环境变量文件(.env)2.2.环境变量变量定义与使用3.打包部署3.1.nginx配置3.2.静态站点根路径配置4.总结1.前言 由于在日常开发中会有一部分前端的开发任务&#xff0c;会涉及到Vue的项目的搭建、迭代、构建发布等操作&#xff0c;所以想系统的学习…