【Python】plt库详解和示例

plt 是 Python 中 Matplotlib 库的一个常用别名,它表示 pyplot,这是一个用于创建图形和图形的可视化表示的工具。下面是一些 plt 函数的详解和示例,以帮助大家理解和使用。

目录

  • plt.subplots()
  • plt.savefig()
  • 折线图
  • plt.scatter()
  • plt.bar() 函数
  • plt.hist()
  • plt.title(), plt.xlabel(), 和 plt.ylabel()
  • Grid Lines
  • Legend
  • 注意事项

plt.subplots()

plt.subplots是Matplotlib库中的一个函数,用于创建包含一个或多个子图的绘图。它返回一个包含了图形和轴的元组,可以用于进一步定制图形和轴。

函数原型如下:

plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, **fig_kw)

参数解释:

nrows: 子图的行数。默认为1。
ncols: 子图的列数。默认为1。
sharex: 如果为True,则子图共享x轴。默认为False。
sharey: 如果为True,则子图共享y轴。默认为False。
squeeze: 如果为True(默认),则将单个子图压缩为单一的图形。如果为False,则返回的图形将包含多个子图。
subplot_kw: 一个字典,用于定制子图的属性(例如标题、轴标签等)。
fig_kw: 一个字典,用于定制图形属性(例如大小、背景色等)。
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, sharex=True)
ax1.plot(x, y1)
ax2.plot(x, y2)
plt.show()

在这里插入图片描述

plt.savefig()

plt.savefig 是 Matplotlib 库中的一个函数,用于将当前的图形保存为图像文件。

函数原型如下:

plt.savefig(fname, dpi=None, facecolor='w', edgecolor='w', orientation='portrait', papertype=None, format=None, transparent=False, bbox_inches=None, pad_inches=0.1, frameon=None, metadata=None)

参数解释:

fname: 文件路径或者 Python 的文件类型对象。例如,使用 plt.savefig('my_figure.png') 将图像保存为 PNG 文件。也可以使用 plt.savefig(open('my_figure.png', 'wb')) 将图像保存为 PNG 文件,但这次是通过打开一个文件对象。
dpi: 图像的分辨率(每英寸的点数),默认为 None。如果提供了 dpi 参数,将改变图像的分辨率。
facecolor: 图像的背景色,默认为 'w'(白色)。
edgecolor: 图像边缘的颜色,默认为 'w'(白色)。
orientation: 图像的方向,默认为 'portrait'(纵向)。可以设置为 'landscape'(横向)或者 'square'(保持图像宽高比)。
papertype: 用于输出的纸张类型,默认为 None。例如,'a4'。
format: 图像的格式。这通常是从 fname 中推断出来的,因此通常不需要显式设置。可能的值包括 'png''pdf''svg''jpeg' 等。
transparent: 如果为 True,则图像将是透明的,默认为 False。
bbox_inches: 如果不为 None,则指定了图像的边界框大小(以英寸为单位)。默认为 None。
pad_inches: 边缘周围的填充量。默认为 0.1 英寸。
frameon: 如果为 True,则包含图像的边框,默认为 None(即使用默认值 True)。
metadata: 一个字典,用于存储与图像相关的元数据。例如,可以包含版权信息、创建日期等。默认为 None。

折线图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.savefig("1.jpg")
plt.show()

在这里插入图片描述

plt.scatter()

散点图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.scatter(x, y)
plt.savefig("1.jpg")
plt.show()

在这里插入图片描述

plt.bar() 函数

使用 plt.bar() 函数绘制柱状图。

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D', 'E']
y = [10, 20, 30, 40, 50]

plt.bar(x, y)

plt.savefig("1.jpg")
plt.show()

在这里插入图片描述

plt.hist()

plt.hist()函数是Matplotlib库中的一个函数,用于创建直方图。它可以将数据的分布情况以直方图的形式展示出来,可以用于数据的可视化和分析。

函数原型如下:

matplotlib.pyplot.hist(data, bins, range=None, density=False, weights=None, color=None, align=None, edgecolor=None, **kwargs)

参数解释:

data: 这是您要绘制直方图的数据。这可以是一个数字列表,也可以是一个NumPy数组。
bins: 这是直方图的柱子数量。如果bins是一个整数,则将使用其计算等间距的 bins。如果bins是一个列表或元组,其值将被用作 bins 的边缘。
range: 这是 bin 的范围。如果传入两个值的列表或元组,则将其视为 bin 的边缘。如果传入一个值的列表或元组,则将其视为 bin 的中心。如果未指定此参数,则默认使用数据范围。
density: 如果为True,则返回的直方图将表示数据的概率密度函数,而不是实际的频率。
weights: 用于加权的直方图数据。
color: 为直方图设置颜色。可以使用颜色名称或RGB值。如果未指定,则默认使用蓝绿色。
align: 确定如何对齐 bin 边缘。可能的值包括 'left', 'right''mid'。
edgecolor: 为 bin 边缘设置颜色。可以使用颜色名称或RGB值。如果未指定,则默认使用黑色。
import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(1000)
plt.hist(data, bins=30)#设置的柱子数量
plt.savefig("1.jpg")
plt.show()

在这里插入图片描述

plt.title(), plt.xlabel(), 和 plt.ylabel()

设置标题和坐标轴标签:使用 plt.title(), plt.xlabel(), 和 plt.ylabel() 设置图形的标题和坐标轴标签。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.title('My Plot')  # 设置标题
plt.xlabel('X-axis')  # 设置 x 轴标签
plt.ylabel('Y-axis')  # 设置 y 轴标签
plt.savefig("1.jpg")
plt.show()

在这里插入图片描述

Grid Lines

网格线(Grid Lines):使用 plt.grid() 函数来显示或隐藏网格线。默认情况下,网格线是隐藏的。如果想要显示网格线,可以像下面这样设置:plt.grid(True)。

图例(Legend):使用 plt.legend() 函数来显示图例。例如:plt.legend([‘Red Line’, ‘Blue Line’])。这将在图形中添加两个图例,一个代表红色线条,另一个代表蓝色线条。

Legend

图例(Legend):使用 plt.legend() 函数来显示图例。例如:plt.legend([‘Red Line’, ‘Blue Line’])。这将在图形中添加两个图例,一个代表红色线条,另一个代表蓝色线条。

注意事项

如果需要保存图像,需要在plt.show()前使用plt.savefig(),负责保存的是空白,因为plt.show()会把数据内容清空。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SSM框架(三):SpringMVC

文章目录 一、SpringMVC简介1.1 概述1.2 入门案例1.3 bean的加载控制1.4 PostMan插件 二、请求【页面向后台发送数据】2.1 请求映射路径2.2 请求方式2.3 解决中文乱码2.4 请求参数2.4.1 五种常见参数种类2.4.2 JSON数据2.4.3 RequestParam与RequestBody的区别2.4.4 日期类型 三…

P9242 [蓝桥杯 2023 省 B] 接龙数列(dp+最长接龙序列+分类)

1. 计算0~9为结尾的最长子串长度 2. 对于每个数字&#xff0c;比较其开头可连接子串长度1 与 原来以其末位为末尾的子串长度 3. 更新以其末位为末尾的子串长度 #include<iostream> #include<string.h>using namespace std;// 相当于记录…

python爬虫进阶教程之如何正确的使用cookie

文章目录 前言一、获取cookie二、程序实现三、动态获取cookie四、其他关于Python爬虫技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Pytho…

linux安装终端连接工具Tabby

参考&#xff1a;https://zhuanlan.zhihu.com/p/645787655

Day45:300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

文章目录 300.最长递增子序列思路代码实现 674. 最长连续递增序列思路代码实现 718. 最长重复子数组思路代码实现 300.最长递增子序列 题目链接 思路 单个字符都是一个长为1的子序列&#xff0c;直接初始化dp为1。先固定一个元素位置i&#xff0c;判断0-i范围内到i的最长子序…

继电保护-变压器纵联差动保护MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 原理概述 差动保护是在两端设置的保护&#xff0c;通过比较两端测回来的电气量&#xff0c;进而看是否需要动作&#xff0c;纵联差动保护是变压器主保护。 纵联差动保护基本原则 双绕组变压器实现纵联差动…

UIKit-通知和推送

想要推送消息就需要添加 import UserNotifications包 申请权限 UNUserNotificationCenter.current()//获取UNUserNotificationCenter类的单例 requestAuthorization requestAuthorization申请权限&#xff1a; badge:角标 sound&#xff1a;声音 alert&#xff1a;横幅 //发…

【C++ 程序设计入门基础】- 第3节-循环结构01

目录 循环结构 一、for 语句 for 循环案例 输入一个整数n&#xff0c;输出1&#xff5e;n的所有整数。 编译运行&#xff0c;查看输出结果 编译调试 for 循环结构语义分析 二、beak 语句 三、continue 语句 案例1&#xff1a; 案例2&#xff1a; 案例3&#xff1a; 循环…

EC 404 information economics

EC 404 information economics WeChat: zh6-86

Java基础之常用类

Java基础之常用类 一、包装类1.1、Java基本数据类型及其对应的包装类1.2、包装类的自动装箱、自动拆箱机制1.3、包装类的优点 二、String类三、StringBuffer类和StringBuilder类3.1、主要区别&#xff1a;3.2、StringBuffer/StringBuilder用法(两者用法一致) 四、日期类4.1、Da…

怎样解决微信上传头像失败的问题?照片尺寸修改方法分享

微信上传头像失败是大家经常遇到的问题之一&#xff0c;其中的原因有可能是因为网络问题&#xff0c;也有可能是因为图片本身的问题&#xff0c;比如图片尺寸不符合平台要求&#xff0c;这时候&#xff0c;我们只需要通过给照片尺寸修改一下就可以解决&#xff0c;那么怎么修改…

开源vs闭源,大模型的未来在哪一边?

开源和闭源&#xff0c;两种截然不同的开发模式&#xff0c;对于大模型的发展有着重要影响。开源让技术共享&#xff0c;吸引了众多人才加入&#xff0c;推动了大模的创新。而闭源则保护了商业利益和技术优势&#xff0c;为大模型的商业应用提供了更好的保障。 那么&#xff0c…

使用Sui天气预言机获取全球实时天气数据

新的Sui天气预言机为全球1000多个城市的建设者提供天气数据&#xff0c;并作为一个独特的随机数生成器&#xff0c;适用于需要可信赖的随机结果的游戏和投注应用。它由基于Sui的智能合约和一个从OpenWeather API获取天气数据的后端服务组成&#xff0c;任何人都可以将天气数据集…

达索系统3DEXPERIENCE WORKS 2024 结构仿真功能增强

simulia结构仿真是什么&#xff1f; 不仅能对结构进行力学、热学、声学等多学科计算&#xff0c;辅助于设计方案的优化&#xff1b;还能采用数字化技术模拟产品性能&#xff0c;大幅节约试验和样机迭代成本。达索系统3DEXPERIENCE WORKS 2024 结构仿真为企业提供随需应变、精准…

多线程(进程池代码)

线程池介绍 那究竟什么是线程池呢&#xff1f; 线程池是一种线程使用模式. 线程过多会带来调度开销&#xff0c;进而影响缓存局部性和整体性能. 而线程池维护着多个线程&#xff0c;等待着监督管理者分配可并发执行的任务. 这避免了在处理短时间任务时创建与销毁线程的代价. 线…

JehanRio‘s 后端高频面试题合集

文章目录 前言JehanRios 后端高频面试题合集第一轮刷题第二轮刷题第三轮刷题 前言 先贴一张图&#xff0c;目前我刷题的记录大概是350多题&#xff0c;加上牛客刷的&#xff0c;差不多有400道题了吧&#xff0c;可能比这个数量少一些。我从22年1月开始陆陆续续刷题&#xff0c;…

基于Spring原生框架构建原生Spring的第一个程序!

&#x1f609;&#x1f609; 学习交流群&#xff1a; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 &#x1f96d;&#x1f96d;3&#xff1a;QQ群&#xff1a;583783…

找免费4K高清图片素材,就上这6个网站

使用图片素材怕侵权&#xff1f;那就上这6个网站&#xff0c;免费下载&#xff0c;4K高清无水印&#xff0c;赶紧收藏起来~ 1、菜鸟图库 https://www.sucai999.com/pic.html?vNTYxMjky 一个很大的素材库&#xff0c;站内主要还是以设计素材为主&#xff0c;像图片素材就有上百…

2023极客大挑战-AGRT战队wp

目录 RE Shiftjmp 点击就送的逆向题 幸运数字 ​编辑 砍树 小黄鸭 flower-or-tea mySelf 是男人就来扎针 听说cpp很难&#xff1f; Easymath 寻找初音未来 Rainbow 浪漫至死不渝 ezandroid Pwn nc_pwntools password ret2text write1 ret2libc ezpwn wr…

Kubernetes基础(九)-标签管理

1 概述 Label&#xff08;标签&#xff09;是Kubernetes系统中一个比较重要的概念&#xff0c;给某个资源对象&#xff08;Node、Pod、Service等&#xff09;定义一个Label&#xff0c;就相当于给它打了一个标签&#xff0c;然后可以通过Label Selector&#xff08;标签选择器…