Python可视化之Matplotlib

news2025/1/16 14:11:44

文章目录

    • Matplotlib与可视化分析
      • 简单图形的绘制
      • pylot的高级功能
        • 添加图例与注释

Matplotlib与可视化分析

我们之前对数据的处理与分析,其实最终还是要利用可视化工具进行更加直观的输出

我们开业通过

pip install matplotlib

命令来安装对应的模块

简单图形的绘制

我们可以通过matplotlib的子模块pyplot来进行平面图像的绘制,比较便捷,而且输出格式也更加多样化

我们可以给他起个名字叫plt

例如

import math
import matplotlib.pyplot as plt

nbSamples = 256
xRange = (-math.pi, math.pi)
x, y = [], []

for n in range(nbSamples):
    ratio = (n + 0.5) / nbSamples
    x.append(xRange[0] + (xRange[1] - xRange[0]) * ratio)
    y.append(math.sin(x[-1]))

plt.plot(x, y)
plt.show()

结果如下

屏幕截图 2023-12-27 191126.png

这里最复杂的其实是对x和y函数的构造,实际上关于绘图的代码是由最后两行完成的,plot是构建图像,show则是显示图像

对于各种复杂的数据计算和处理,实际上可以结合numpy的内容辅助处理

我们也可以对图像中线条的属性,例如color选项可以选择图像的颜色,linewidth可以选择线条的宽度,linestyle可以选择线条的样式

这里我们给出常用的颜色

字母颜色
r红色
b蓝色
m紫色
k黑色
g绿色
c青色
y土黄色
w白色

pylot的高级功能

添加图例与注释

例如

nbSamples = 128

x = np.linspace(-np.pi, np.pi, nbSamples)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, color='g', linewidth=4, linestyle='--', label=r'$y=sin(x)')
plt.plot(x, y2, '*', markersize=8, markerfacecolor='r', markeredgecolor='k', label=r'$y=cos(x)')

plt.legend(loc='best')
plt.show()

屏幕截图 2023-12-27 192357.png

这里我们加入了属性标签,legend是放在了最佳位置,也可以进行设置,例如,upper right,upper left,lower left,center left 等

对于这里的美元符号则是对应着LaTeX公式,可以访问可以更加高效的描述数学公式

除此之外,我们也可以设置显示一些其他的文本提示,例如坐标提示等

例如

plt.text(a, b, (a, b), ha = 'center', va = 'bottom', fontsize = 10)

设置标题以及坐标轴

plt.title()
plt.xlabel()

Matplotlib对于中文支持并不友好,在Windows平台下,我们需要设置如下参数显示中文文本

plt.rcParams['font.sans-serif']=['SimHei'] # 用于正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 设置正常显示政府和

这里的sim指的是simple简体中文,hei表示黑体

关于众多子图的内容,还有更多的matplotlib内容,还请阅读官方文档,我们对于基本的图像绘制了解到此基本就足以日常使用了,如果需要更多的方法,官方文档绝对是一个更好的选择

我们的Python基础部分也告一段落,之后会陆续推出其他内容,还请大家继续支持
感谢各位的支持,如果你发现文章中有任何不严谨或者需要补充的部分,欢迎在评论区指出

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

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

相关文章

《深入理解JAVA虚拟机笔记》Java 运行时内存区域

程序计数器(线程私有) 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在 Java 虚拟机的概念模型里, 字节码解释器工作时就是通过改变这个计…

mfc140u.dll丢失的解决方法,怎样修复mfc140u.dll

最近看到很多朋友在问找不到mfc140u.dll丢失怎么办?有什么解决方法,今天就给小伙伴们解答一下,mfc140u.dll丢失的解决办法,怎么修复mfc140u.dll。 一.丢失的原因 1.损坏的程序安装:在安装某个程序时,可能会出现意外中…

【数据库】为什么要分库分表

为什么要分库分表 1.为什么要分库分表?2.垂直拆分3.水平拆分4.总结4.1 逻辑库和物理库4.2 逻辑表和物理表 1.为什么要分库分表? 随着近些年信息化大跃进,各行各业无纸化办公产生了大量的数据,而越来越多的数据存入了数据库中。当…

代码随想录-刷题第三十九天

动态规划理论基础 动态规划的题目由重叠子问题构成,每一个状态一定是由上一个状态推导出来的。这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。 动态规划五步曲 确定dp数组(dp table)以及下标的含义…

03-JWT令牌和普通令牌的区别,JWT令牌的格式和生成

JWT令牌 普通令牌问题 普通令牌的问题: 以OAuth2的密码模式为例进行说明,客户端每次访问资源时, 资源服务都需要远程请求认证服务去校验令牌的合法性导致执行性能低 如果能够让资源服务自己校验令牌的合法性,这样就可以省去远程请求认证服务的成本并提高性能 常见…

如何使用mac电脑,1、使用快捷命令打开访达,2、使用终端命令创建文件,3、使用命令打开创建的文件,并且在vscode中打开

如何使用mac电脑 1、使用快捷命令打开访达 optioncommand空格键 快速进入访达 shiftcmmandn 创建一个空目录 2、使用终端命令创建文件 2.1进入文件夹 在终端页面输入“cd /Users/yunf/Desktop/”并按回车键(此时进入到桌面文件夹,如果需要进入到其它…

TCP 滑动窗口

滑动窗口(Sliding window)是一种流量控制技术。早期的网络通信中,通信双方不会考虑网络的拥挤情况直接发送数据。由于大家不知道网络拥塞状况,同时发送数据,导致中间节点阻塞掉包,谁也发不了数据&#xff0…

19个Python语法糖和9个内置装饰器

19 个Sweet的 Python Syntax Sugar,用于改善您的编码体验 文章目录 19 个Sweet的 Python Syntax Sugar,用于改善您的编码体验1. 联合运算符Union Operators:合并 Python 字典的最优雅方式2. 类型提示Type Hints:使您的 Python 程序…

Linux高级管理——rsync远程同步

一、配置rsync源服务器: rsync (Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份.保持链接和权限,且采用优化的同步算法.传输前…

ChatGPT4.0(中文版)国内无限制免费版(附网址)

ChatGPT,由OpenAI开发的人工智能语言模型。它是你的数字对话伙伴,无论你有何问题或需要什么帮助,它都能提供有用的信息。 经过不断的研发和更新,ChatGPT的性能和功能得到了显著提升。现在,我们将重点介绍ChatGPT的两个…

Apache Commons Pool的对象池技术

第1章:引言 咱们今天来聊聊一个在Java开发中超级实用,但又经常被忽视的技术——对象池技术。可能你们已经听说过“对象池”这个名词,但对它的具体作用和重要性还有些模糊。别急,小黑带你们一步步深入了解。 想象一下&#xff0c…

《Linux系列》Linux磁盘MBR分区扩容

文章目录 Linux磁盘MBR分区扩容1.前言2.控制台磁盘扩容3.分区扩容3.1 fdisk3.2 lsblk3.3 扩容分区 4.扩容文件系统4.1 df4.2 扩容文件系统 Linux磁盘MBR分区扩容 1)参考阿里云扩容分区文档,整理MBR分区扩容 2)本文档适用于MBR分区(fdisk -lu查…

【CSAPP】探究BombLab奥秘:Phase_2的解密与实战

📋 前言 ​🌈个人主页:Sarapines Programmer🔥 系列专栏:《斯坦福大学之CSAPP》⏰诗赋清音:桃花灼灼春风暖,心随乐曲扬徐徐。 苦尽甘来梦未阑,岁月长河任舟游。 ​ 🎉欢迎…

Qt sender()函数

sender函数原型: QObject *sender() const; 如果在由信号激活的插槽中调用该函数,返回指向发送信号的对象的指针,否则返回0,该指针仅在从该对象的线程上下文调用此函数的槽执行期间有效。 主要代码如下: 其中运用了Q…

为什么设计制造行业需要数据加密?

设计制造行业是一个涉及多种技术、工艺、材料和产品的广泛领域,它对经济和社会的发展有着重要的影响。然而,随着数字化、智能化和网络化的发展,设计制造行业也面临着越来越多的数据安全风险,如数据泄露、数据篡改、数据窃取等。这…

sonarqube安装踩坑记录

如果用java1.8和mysql,则sonarqube版本不能超过7.8,看这里。 sonarqube7.8安装包地址: https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip 安装步骤: 1、下载sonarqube安装包 wget https://binari…

EduChat账号密码登录

内测申请:请邮件dan_yhstu.ecnu.edu.cn,以“EduChat内测申请单位”作为邮件标题,邮件内容中写明用途 先去申请个账号和密码,会有一两天延迟吧,挺快的。 拿到账号之后去官网,点一个 官网传送门 就出来用账号密码登录的…

C++ Qt开发:SqlTableModel映射组件应用

Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍SqlTableModule组件的常用方法及灵活运用。 …

Android 8.1 设置USB传输文件模式(MTP)

项目需求,需要在电脑端adb发送通知手机端接收指令,将USB的仅充电模式更改成传输文件(MTP)模式,便捷用户在我的电脑里操作内存文件,下面是我们的常见的修改方式 1、android12以下、android21以上是这种方式…

竞赛保研 基于大数据的时间序列股价预测分析与可视化 - lstm

文章目录 1 前言2 时间序列的由来2.1 四种模型的名称: 3 数据预览4 理论公式4.1 协方差4.2 相关系数4.3 scikit-learn计算相关性 5 金融数据的时序分析5.1 数据概况5.2 序列变化情况计算 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 &…