简介

        matplotlib 是 Python 中最流行的数据可视化库之一,它可以创建各种高质量的图表。无论是简单的折线图,还是复杂的 3D 图形,matplotlib 都能轻松应对。它提供了类似 MATLAB 的绘图接口,使得用户可以非常方便地进行图表的创建和定制。

 matplotlib 的一些主要特点和功能:

        丰富的绘图功能: matplotlib 提供了多种绘图函数,可以绘制各种类型的图表,包括线图、散点图、柱状图、饼图、等高线图等。

        自定义设置: 用户可以对图表的各种属性进行自定义设置,如颜色、线型、标记、标题、坐标轴标签等。

        交互式绘图: matplotlib 支持交互式绘图,用户可以使用鼠标对图表进行缩放、平移等操作。

        多种输出格式: 用户可以将绘制的图表保存为多种格式的文件,包括 PNG、PDF、SVG 等。

        与 NumPy 和 Pandas 集成: matplotlib 可以与 NumPy 和 Pandas 库无缝集成,方便用户处理和可视化数据。

        支持多种绘图风格: matplotlib 提供了多种预定义的绘图风格,用户可以根据需要选择合适的风格。

        关于 matplotlib了解一点基础的画图方法就行,它就是为我们后面学习机器学习和深度学习提供一个简单的绘图工具

1.安装matplotlib

pip install matplotlib 

        后面也可以加上清华镜像园下载更快

pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

2.matplotlib 绘制折线图

折线图是最基本的图表类型之一,用于展示数据随时间或其他连续变量的变化趋势。

import matplotlib.pyplot as plt
import numpy as np# 准备数据
x = np.linspace(0, 10, 100)  # 生成0到10之间的100个均匀分布的点
y = np.sin(x)  # 计算正弦值# 创建图表和子图
plt.figure(figsize=(8, 4))  # 创建一个大小为8x4英寸的图表# 绘制图形
plt.plot(x, y, label='sin(x)')  # 绘制折线图# 设置图表属性
plt.title('Sin Function')  # 设置标题
plt.xlabel('x')  # 设置x轴标签
plt.ylabel('y')  # 设置y轴标签
plt.grid(True)  # 显示网格线
plt.legend()  # 显示图例# 显示图表
plt.show()

3. matplotlib 绘制散点图

散点图用于展示两个变量之间的关系,每个数据点用一个点表示。

import matplotlib.pyplot as plt
import numpy as np# 准备数据
x = np.random.rand(100)  # 生成100个0到1之间的随机数
y = np.random.rand(100)
colors = np.random.rand(100)  # 随机颜色
sizes = 1000 * np.random.rand(100)  # 随机大小# 绘制散点图
plt.figure(figsize=(8, 6))
plt.scatter(x, y, c=colors, s=sizes, alpha=0.5)  # alpha表示透明度# 设置图表属性
plt.title('Scatter Plot')
plt.xlabel('X')
plt.ylabel('Y')
plt.colorbar()  # 显示颜色条plt.show()

4.matplotlib 绘制柱状图

柱状图用于比较不同类别之间的数据差异。

import matplotlib.pyplot as plt
import numpy as np# 准备数据
categories = ['A', 'B', 'C', 'D', 'E']
values = [25, 40, 30, 20, 45]# 绘制柱状图
plt.figure(figsize=(10, 6))
plt.bar(categories, values, color='skyblue')# 设置图表属性
plt.title('Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')plt.show()

5.matplotlib 绘制饼图

饼图用于展示数据的比例关系。

import matplotlib.pyplot as plt# 准备数据
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']
explode = (0, 0.1, 0, 0)  # 突出显示第二个部分# 绘制饼图
plt.figure(figsize=(8, 8))
plt.pie(sizes, explode=explode, labels=labels, colors=colors,autopct='%1.1f%%', shadow=True, startangle=90)# 设置图表属性
plt.axis('equal')  # 使饼图为正圆形
plt.title('Pie Chart')plt.show()

6.matplotlib 绘制直方图

直方图用于展示数据的分布情况。

import matplotlib.pyplot as plt
import numpy as np# 准备数据
data = np.random.randn(1000)  # 生成1000个符合标准正态分布的随机数# 绘制直方图
plt.figure(figsize=(10, 6))
plt.hist(data, bins=30, alpha=0.7, color='skyblue')  # bins表示直方图的箱数# 设置图表属性
plt.title('Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')plt.show()

7.matplotlib 绘制多子图布局

matplotlib 允许在一个图表中创建多个子图,便于比较不同的数据。

使用 subplot 函数

import matplotlib.pyplot as plt
import numpy as np# 生成0到10之间的100个均匀分布的点作为x轴数据
x = np.linspace(0, 10, 100)# 计算不同的函数值作为y轴数据
y1 = np.sin(x)        # 正弦函数
y2 = np.cos(x)        # 余弦函数
y3 = np.tan(x)        # 正切函数
y4 = np.sin(x ** 2)   # x平方的正弦函数
y5 = np.arccos(x)     # 反余弦函数
y6 = np.arctan(x)     # 反正切函数# 创建一个2行3列的子图布局,图形尺寸为10x8英寸
fig, axs = plt.subplots(2, 3, figsize=(10, 8))# 在第一行第一列的子图中绘制正弦函数,颜色为红色
axs[0, 0].plot(x, y1, 'r')
axs[0, 0].set_title('sin(x)')# 在第一行第二列的子图中绘制余弦函数,颜色为绿色
axs[0, 1].plot(x, y2, 'g')
axs[0, 1].set_title('cos(x)')# 在第二行第一列的子图中绘制正切函数,颜色为蓝色
axs[1, 0].plot(x, y3, 'b')
axs[1, 0].set_title('tan(x)')# 在第二行第二列的子图中绘制x平方的正弦函数,颜色为洋红色
axs[1, 1].plot(x, y4, 'm')
axs[1, 1].set_title('sin(x^2)')# 在第一行第三列的子图中绘制反余弦函数,颜色为红色
axs[0, 2].plot(x, y5, 'r')
axs[0, 2].set_title('arccos')# 在第二行第三列的子图中绘制反正切函数,颜色为红色
axs[1, 2].plot(x, y6, 'r')
axs[1, 2].set_title('arctan')# 显示图形
plt.show()

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

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

相关文章

rust-所有权

什么是所有权 所有权是一组规则,它决定了 Rust 程序如何管理内存。所有运行中的程序都必须管理它们对计算机内存的使用方式。某些语言使用垃圾回收(GC),在程序运行时定期查找不再使用的内存;另一些语言则要求程序员显式…

破解哈希极化:基于主动路径规划的智算网络负载均衡方案

如今人工智能(AI)和大模型训练的蓬勃发展,大规模AI算力集群(智算集群)已成为关键基础设施。这类集群对网络性能,特别是高吞吐、低延迟和无损特性有着严苛要求,RoCE因此被广泛应用。然而&#xf…

Vue工程化 ElementPlus

一、Vue工程化1、环境准备create-vue是Vue官方提供的最新的脚手架工具,用于快速生成一个工程化的Vue项目。提供了以下功能:统一的目录结构本地调试热部署单元测试集成打包上线依赖环境:Node JS 是一个免费、开源、跨平台的JavaScript运行时环…

深入解析TCP:可靠传输的核心机制与实现逻辑

Linux 系列 文章目录Linux 系列前言一、TCP协议的概念1.1 TCP协议的特点1.2 TCP又叫做传输控制协议二、TCP协议段格式2.1、TCP的流量控制----------窗口大小(16位)2.2 TCP的确认应答机制2.2.1 什么是确认应答机制2.2.2 确认应答机制的优化2.3 超时重传机…

通缩浪潮中的 “测量防线”:新启航如何用国产 3D 白光干涉仪筑牢半导体成本护城河?

一、通缩浪潮下半导体行业的成本困局在通缩浪潮冲击下,半导体行业面临市场需求疲软、产品价格下滑的严峻挑战。为维持竞争力,降低生产成本成为企业生存发展的关键。而 3D 白光干涉仪作为半导体晶圆检测、制程监控的核心设备,传统进口产品价格…

[网安工具] 自动化威胁检测工具 —— D 盾 · 使用手册

🌟想了解其它网安工具?看看这个:[网安工具] 网络安全工具管理 —— 工具仓库 管理手册 D盾防火墙D盾,D盾_防火墙,D盾_IIS防火墙,D盾_web查杀,IIS防火墙,webshell查杀,https://www.d99net.net/ 0x01:D 盾 —— 工具简介 D 盾防火…

Spring AI 系列之二十二 - ImageModel

之前做个几个大模型的应用,都是使用Python语言,后来有一个项目使用了Java,并使用了Spring AI框架。随着Spring AI不断地完善,最近它发布了1.0正式版,意味着它已经能很好的作为企业级生产环境的使用。对于Java开发者来说…

Redis集群高可用与性能优化实战指南

Redis集群高可用与性能优化实战指南 一、业务场景描述 在大型分布式系统中,Redis不仅承担缓存职责,还常用于限流、排行榜、会话管理等高并发场景。随着访问量的激增和集群规模的扩展,如何保证Redis服务的高可用性与高性能,成为后端…

基于SpringBoot+Vue的高校特长互助系统(WebSocket实时聊天、协同过滤算法、ECharts图形化分析)

“ 🎈系统亮点:WebSocket实时聊天、协同过滤算法、ECharts图形化分析”01系统开发工具与环境搭建前后端分离架构项目架构:B/S架构运行环境:win10/win11、jdk17前端:技术:框架Vue.js;UI库&#x…

于纵横交错的矩阵间:二维数组与多维数据的默契和鸣

大家好啊,我是小象٩(๑ω๑)۶ 我的博客:Xiao Xiangζั͡ޓއއ 很高兴见到大家,希望能够和大家一起交流学习,共同进步。* 接着上节课的内容,这一节我们来学习二维数组,学习二维数组的概念和创建,明白二维数组的初始化,学会不完全初始化,完全初始化,按照行初始化的…

SHA-3算法详解

SHA-3(Secure Hash Algorithm 3)是美国国家标准与技术研究院(NIST)于 2015 年发布的新一代密码哈希算法标准,其核心基于比利时密码学家团队设计的Keccak 算法。SHA-3 的诞生旨在应对 SHA-1 和 SHA-2 系列算法可能面临的…

前端笔记:同源策略、跨域问题

只有前端才会有跨域问题后端不受限制 一、什么是“同源策略”(Same-Origin Policy) ✅ 定义: 浏览器的 同源策略 是一种 安全机制,限制一个源的 JavaScript 访问另一个源的资源,以防止恶意网站窃取用户敏感信息。 ✅ “…

java通过com进行pdf转换docx丢失

使用,通过com调用,发现pdf转换成docx后,没有看到docx输出到指定目录。直接说解决方案:关闭的保护模式即可,打开工具,编辑->首选项 找到安全性(增强),关闭启动时启用保护模式关闭后,docx正常输…

SQL基础⑫ | 视图篇

0 序言 本文将系统讲解数据库中视图的相关知识,包括视图的定义、作用、创建(单表、多表、基于视图创建)、查看、更新、修改与删除操作,以及视图的优缺点。 通过学习,你能够掌握视图的基本概念,理解何时及如…

移动云×华为昇腾:“大EP+PD分离”架构实现单卡吞吐量跨越式提升!

在面向下一代AI基础设施的关键技术攻关中,移动云与华为昇腾计算团队深度协同,实现了大模型推理引擎的架构级突破。双方基于昇腾AI基础软硬件平台,针对DeepSeek大模型完成了大规模专家并行(Expert Parallelism,简称“大…

配电自动化终端中电源模块的设计

配电自动化终端中电源模块的设计 引言 配电终端设备的可靠性和自动化程度,直接影响到整个配电自动化系统的可靠性和自动化水平。由于配电终端设备一般安装于户外或比较偏僻的地方,不可能有直流电源提供,因此,配电网终端设备的直流供电方式成为各配网自动化改造中必须要研究…

性能测试-groovy语言1

课程:B站大学 记录软件测试-性能测试学习历程、掌握前端性能测试、后端性能测试、服务端性能测试的你才是一个专业的软件测试工程师 Jmeter之Groovy语言Groovy简介为何性能测试中选择Groovywindows下载Groovy进入官网配置环境变量Groovy的数据类型groovy的保留字字符…

天邑TY1613_S905L3SB_安卓9-高安非-高安版-通刷-TTL线刷固件包

天邑TY1613_S905L3SB_安卓9-高安非-高安版-通刷-TTL线刷固件包刷机说明:本固件为TTL刷机方式,需要准备如下工具;电烙铁TTL线刷机优盘TTL接触点位于处理器左侧,从上往下数第二脚GND、3TXD、4RXD跑码工具-【工具大全】-putty跑码工具…

【硬件-笔试面试题】硬件/电子工程师,笔试面试题-7,(知识点:晶体管放大倍数计算)

目录 1、题目 2、解答 3、相关知识点 晶体管的电流分配关系 直流电流放大系数\(\overline{\beta}\) 交流电流放大系数\(\beta\) 晶体管的放大条件 总结 【硬件-笔试面试题】硬件/电子工程师,笔试面试题汇总版,持续更新学习,加油&…

力扣-152.乘积最大子数组

题目链接 152.乘积最大子数组 class Solution {public int maxProduct(int[] nums) {int[] dpMax new int[nums.length]; //包括nums[i]的乘积最大值int[] dpMin new int[nums.length]; //包括nums[i]的乘积最小值int res nums[0];dpMax[0] nums[0];dpMin[0] nums[0];fo…