Matplotlib快速入门

目录

基本使用

解决中文乱码

一个坐标系绘制多个图像

多个坐标系绘制


基本使用

  • 什么是Matplotlib
    • 是专门用于开发2D图表(包括3D图表)
    • 以渐进,交互式方式实现数据可视化

  • 为什么要学习matplotlib
    • 可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法
    • 能将数据进行可视化,更直接的呈现
    • 使数据更加客观,更具说服力
# 图形绘制流程:
import matplotlib.pyplot as plt
# 1创建画布
plt.figure(figsize=(20,8),dpi=(100))
# figsize指定图形的长宽
# dpi指定图像的清晰度
# 2绘制图像
plt.plot([1,2],[10,20])
# 3显示图像
plt.show()
# 例子:折线图绘制与显示
import matplotlib.pyplot as plot
plt.figure(figsize=(20,8),dpi=100)
plt.plot([1,2,3,4,5],[10,20,30,40,50])
plt.show()
# 例子:折线图
import matplotlib.pyplot as plt
import randomx = range(60)
y = [random.uniform(15,18) for I in x]plt.figure(figsize=(20,8),dpi=100)
plt.plot(x,y)
plt.show()
# 添加自定义x,y刻度
import matplotlib.pyplot as plt
import random
from pylab import mpl# 防止中文乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]x = range(60)
y = [random.uniform(15,18) for i in x]
# 添加x,y轴刻度
x_ticks_label = ['11点{}分'.format(i) for i in x]
y_ticks = range(40)plt.figure(figsize=(20,8),dpi=100)
plt.plot(x,y)# 修改x,y轴坐标刻度显示,间隔为5
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])plt.show()
# 添加网格显示
# 添加网格显示,alpha表示透明度
plt.grid(True,linestyle="--",alpha=0.5)import matplotlib.pyplot as plt
import random
from pylab import mpl# 防止中文乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]x = range(60)
y = [random.uniform(15,18) for i in x]
# 添加x,y轴刻度
x_ticks_label = ['11点{}分'.format(i) for i in x]
y_ticks = range(40)plt.figure(figsize=(20,8),dpi=100)
plt.plot(x,y)# 修改x,y轴坐标刻度显示,间隔为5
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
# 添加网格显示,alpha表示透明度
plt.grid(True,linestyle="--",alpha=0.5)
plt.show()
# 添加描述信息,x轴,y轴,标题
# 添加描述信息
plt.xlabel("时间",fontsize=20)
plt.ylabel("温度",fontsize=20)
plt.title("中午11点-12点某城市温度变化图",fontsize=20)import matplotlib.pyplot as plt
import random
from pylab import mpl# 防止中文乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]x = range(60)
y = [random.uniform(15,18) for i in x]
# 添加x,y轴刻度
x_ticks_label = ['11点{}分'.format(i) for i in x]
y_ticks = range(40)plt.figure(figsize=(20,8),dpi=100)
plt.plot(x,y)# 修改x,y轴坐标刻度显示,间隔为5
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
# 添加网格显示,alpha表示透明度
plt.grid(True,linestyle="--",alpha=0.5)
# 添加描述信息
plt.xlabel("时间",fontsize=20)
plt.ylabel("温度",fontsize=20)
plt.title("中午11点-12点某城市温度变化图",fontsize=20)
plt.show()
# 图像保存
# 保存图像到指定路径
plt.savefig("test.png")
注意:plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片
import matplotlib.pyplot as plt
import random
from pylab import mpl# 防止中文乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]x = range(60)
y = [random.uniform(15,18) for i in x]
# 添加x,y轴刻度
x_ticks_label = ['11点{}分'.format(i) for i in x]
y_ticks = range(40)plt.figure(figsize=(20,8),dpi=100)
plt.plot(x,y)# 修改x,y轴坐标刻度显示,间隔为5
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
# 添加网格显示,alpha表示透明度
plt.grid(True,linestyle="--",alpha=0.5)
# 添加描述信息
plt.xlabel("时间",fontsize=20)
plt.ylabel("温度",fontsize=20)
plt.title("中午11点-12点某城市温度变化图",fontsize=20)
# 保存图片
plt.savefig("test.png")
plt.show()

解决中文乱码

# 解决中文乱码问题
from pylab import mpl
# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]# 有时候,字体更改后,会导致坐标轴中的部分字符无法正常显示,此  # 时需要更改axes.unicode_minus参数
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False

一个坐标系绘制多个图像

# 如何在一个坐标系中绘制多个图像?
多次ploty_beijing = [random.uniform(1,3) for I in x]
y_shanghai = [random.uniform(15,18) for I in x]plt.plot(x,y_beijing)
plt.plot(x,y_shanghai,color='r',linestyle='--')import matplotlib.pyplot as plt
import random
from pylab import mpl# 防止中文乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]x = range(60)
y = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(1,3) for i in x]# 添加x,y轴刻度
x_ticks_label = ['11点{}分'.format(i) for i in x]
y_ticks = range(40)plt.figure(figsize=(20,8),dpi=100)
plt.plot(x,y)
plt.plot(x,y_beijing,color='r',linestyle='--')# 修改x,y轴坐标刻度显示,间隔为5
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
# 添加网格显示,alpha表示透明度
plt.grid(True,linestyle="--",alpha=0.5)
# 添加描述信息
plt.xlabel("时间",fontsize=20)
plt.ylabel("温度",fontsize=20)
plt.title("中午11点-12点某城市温度变化图",fontsize=20)
# 保存图片
plt.savefig("test.png")plt.show()
# 显示图例
plt.plot(x,y_beijing,label="北京")
plt.plot(x,y_shanghai,label="上海")# 显示图例
plt.legend(loc="best")import matplotlib.pyplot as plt
import random
from pylab import mpl# 防止中文乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]x = range(60)
y = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(1,3) for i in x]# 添加x,y轴刻度
x_ticks_label = ['11点{}分'.format(i) for i in x]
y_ticks = range(40)plt.figure(figsize=(20,8),dpi=100)
plt.plot(x,y,label="上海")
plt.plot(x,y_beijing,color='r',linestyle='--',label="北京")# 修改x,y轴坐标刻度显示,间隔为5
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
# 添加网格显示,alpha表示透明度
plt.grid(True,linestyle="--",alpha=0.5)
# 添加描述信息
plt.xlabel("时间",fontsize=20)
plt.ylabel("温度",fontsize=20)
plt.title("中午11点-12点某城市温度变化图",fontsize=20)
# 保存图片
plt.savefig("test.png")
plt.legend(loc="best")plt.show()

多个坐标系绘制

# 多个坐标系实现绘制
import matplotlib.pyplot as plt
import random
from pylab import mpl# 防止中文乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(1,3) for i in x]# 创建画布
fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=100)axes[0].plot(x,y_shanghai,label="上海")
axes[1].plot(x,y_beijing,color='r',linestyle='--',label="北京")
plt.show()
# 修改其他的模块的代码
import matplotlib.pyplot as plt
import random
from pylab import mpl# 防止中文乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(1,3) for i in x]# 创建画布
fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=100)axes[0].plot(x,y_shanghai,label="上海")
axes[1].plot(x,y_beijing,color='r',linestyle='--',label="北京")# 添加x,y轴刻度
x_ticks_label = ['11点{}分'.format(i) for i in x]
y_ticks = range(40)# 修改x,y轴坐标刻度显示,间隔为5
axes[0].set_xticks(x[::5])
axes[0].set_yticks(y_ticks[::5])
axes[0].set_xticklabels(x_ticks_label[::5])
axes[1].set_xticks(x[::5])
axes[1].set_yticks(y_ticks[::5])
axes[1].set_xticklabels(x_ticks_label[::5])# 添加网格显示,alpha表示透明度
axes[0].grid(True,linestyle="--",alpha=0.5)
axes[1].grid(True,linestyle="--",alpha=0.5)# 添加描述信息
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("中午11点-12点某城市温度变化图",fontsize=20)
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("中午11点-12点某城市温度变化图",fontsize=20)# 保存图片
plt.savefig("test.png")# 添加图例
axes[0].legend(loc=0)
axes[1].legend(loc=0)plt.show()
# 使用numpy绘制sin图像
import matplotlib.pyplot as plt
import numpy as np# 准备数组
x = np.linspace(-10,10,1000)
y = np.sin(x)# 创建画布
plt.figure(figsize=(20,8),dpi=100)# 绘制函数图像
plt.plot(x,y)# 添加网格显示
plt.grid()# 显示图像
plt.show()

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

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

相关文章

扣料不允许‘货物移动’

遇到了报错,不允许货物移动 以为又是和之前一样是订单已经关闭,看是领错料还是财务误关的原因,但是co03一看订单状态并没有关闭 原因就是这个CRTD 订单只是创建了,但是没有下达 找个正常的看看: 一般订单创建和下达都…

【AI】全新AI测试系列之二--------AI自动化测试,提高测试效率

目录 一、自动化测试 1、与手动测试对比 2、自动化测试流程 二、自动化测试环境搭建 三、web自动化使用AI的两种方式 1、利用DeepSeek快速生成脚本 2、pycharm集成通义灵码 四、通义灵码实战 1、使用提示词生成代码 2、使用pytest框架 前言:上一章节只要是…

npm包冲突install失败

--legacy-peer-deps是npm(Node.js包管理器)的一个命令行选项,主要用于解决依赖冲突问题。当安装依赖时,npm默认会严格检查peer dependencies(对等依赖)的版本兼容性,可能导致安装失败。启用此选…

68、数据访问-crud实验-删除用户完成

68、数据访问-crud实验-删除用户完成 以下是完成“数据访问-CRUD实验-删除用户”功能的一般步骤,以常见Web应用框架(如Spring Boot MyBatis-Plus、Django、Ruby on Rails)为例: #### 准备工作 - **数据库表设计**:确…

实现 TurtleBot3 多点轨迹跟踪导航

系统架构 move_base本身不支持一次性发送多个目标点并自动按顺序导航,使用nav_msgs/Path消息类型发布多个路径点,然后让机器人按顺序依次到达每个路径点。 发布一个包含多个路径点的Path消息(可选,用于在RVIZ中显示路径)。按顺序将每个路径点作为MoveBaseGoal发送给move_…

《人性的优点》:破解忧虑密码,构建积极人生

我强烈推荐4本可以改变命运的经典著作: 《寿康宝鉴》在线阅读白话文《欲海回狂》在线阅读白话文《阴律无情》在线阅读白话文《了凡四训》在线阅读白话文 一、世界观:忧虑的本质与生命的真相 (一)忧虑是精神的“虚构苦难” 卡耐基…

D2554探鸽协议,sensor属性,回调

D2554探鸽协议,sensor属性,回调 各属性的默认值 对比度: 0x4064(10进制) 清晰度、锐度: 0x000(10进制) 饱和度: …

.NET 4.7中使用NLog记录日志到数据库表

1. 首先安装必要的NuGet包 在项目中安装以下NuGet包: NLog NLog.Config (可选,用于自动生成配置文件) 相应的数据库提供程序(如System.Data.SqlClient for SQL Server) Install-Package NLog Install-Package NLog.Config In…

非对称加密实战:Python实现数字签名

目录 非对称加密实战:Python实现数字签名引言:数字世界的身份验证1. 非对称加密基础1.1 核心概念1.2 非对称加密算法比较 2. 数字签名原理2.1 数字签名工作流程2.2 数字签名的核心特性 3. RSA数字签名实现3.1 RSA算法数学基础3.1.1 密钥生成3.1.2 签名生…

优化提示词的常用技巧

优化提示词的常用技巧 1. 告诉AI你需要的重要要素 (1)风格:明确语言风格 优化前:写一篇人工智能的介绍。优化后:写一篇100字的人工智能介绍,受众是小学生,语言幽默。 (2&#xf…

PyTorch实战(12)——StyleGAN详解与实现

PyTorch实战(12)——StyleGAN详解与实现 0. 前言1. StyleGAN1.1 模型介绍1.2 模型策略分析2. 实现 StyleGAN2.1 生成图像2.2 风格迁移小结系列链接0. 前言 StyleGAN (Style-Generative Adversarial Networks) 是生成对抗网络 (Generative Adversarial Networks, GAN) 的变体…

XML重复查询一条Sql语句??怎么解决

一、核心问题&#xff1a;从SQL重复执行到日志失效 1. 首要现象&#xff1a;XML重复查询失效 在排查服务性能时发现&#xff1a; <!-- MyBatis XML片段 --> <select id"List" resultMap"Map"> SELECT * FROM user WHERE name #{name} …

量化面试绿皮书:33. 不公平的硬币

文中内容仅限技术学习与代码实践参考&#xff0c;市场存在不确定性&#xff0c;技术分析需谨慎验证&#xff0c;不构成任何投资建议。 33. 不公平的硬币 你有1000枚硬币。 其中&#xff0c;有1枚硬币正反两面都是正面。 其他的999枚硬币都是公平的硬币。 你随机选择一枚硬币并…

Java 期末考试题

1. 如果将类 MyClass 声明为 public&#xff0c;它的文件名必须是 ( ) 才能正常编译。 解&#xff1a;① 如果一个类被声明为 public&#xff0c;则必须以 .java 作为文件拓展名。 答案&#xff1a;MyClass.java 2. 定义类头时能使用的修饰符是&#xff08; &#xff09;…

跨标签页通信(三):Web Storage

在现代 Web 应用中&#xff0c;跨标签页通信的需求越来越普遍。无论是实现多标签页之间的数据同步&#xff0c;还是构建实时协作功能&#xff0c;跨标签页通信都能极大地提升用户体验。今天&#xff0c;我们将探讨一种简单而高效的实现方式&#xff1a;Web Storage。 一、什么…

大疆上云api 无人机摄像头红外调色模式

# topic thing/product/{你的机场}/property/set# 监听topic&#xff0c;获取设置结果 thing/product//property/set_reply#mqtt https://developer.dji.com/doc/cloud-api-tutorial/cn/api-reference/dock-to-cloud/mqtt/aircraft/m3d-properties.htmlthermal_current_palet…

DeepSeek与ChatGPT:免费与付费背后的选择逻辑

内容简介&#xff1a; 为什么有免费的DeepSeek&#xff0c;很多人还在付费用ChatGPT&#xff1f;作为20年互联网老兵&#xff0c;作者通过实测发现&#xff1a;AI工具好坏七成看你怎么跟它聊天。DeepSeek不是真的不如ChatGPT&#xff0c;而是需要掌握"撩AI"的技巧。文…

【nvidia-H100-ib排障实战1】:InfiniBand 带宽测试命令深度解析,找到影响生产集群性能的ib

目录 InfiniBand 带宽测试命令深度解析 一、命令整体功能概述 二、服务器端命令解析:ib_write_bw -a -d 1. 命令主体功能 2. 关键参数解析 3. 服务器端工作模式 三、客户端命令解析:ib_write_bw -a -d 1. 新增参数解析 2. 客户端工作流程 四、核心测试指标与输出解…

华为云Flexus+DeepSeek征文|基于华为云一键部署Dify LLM 应用构建 PPT 生成助手的开发与实践

目录 前言 1 华为云部署 Dify 平台简介 2 华为云 Dify 平台的部署与登录使用 3 模型接入与工具安装 3.1 接入 DeepSeek 大模型 3.2 安装 Markdown 转 PPT 工具 4 构建 PPT 生成助手应用工作流 4.1 开始节点 4.2 文档提取器 4.3 文本转 PPT 文稿 LLM 4.4 Markdown 转…

NW896NX769美光固态芯片NX790NX793

美光固态芯片深度解析&#xff1a;NX769、NX790、NX793与NW896技术全景 一、技术架构与核心特性 存储工艺与性能基础 美光NX系列&#xff08;含NX769/790/793&#xff09;及NW896均基于G9 NAND技术&#xff0c;采用176层TLC&#xff08;Triple-Level Cell&#xff09;3D NAND…