Python可视化之Matplotlib

文章目录

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

Matplotlib与可视化分析

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

我们开业通过

pip install matplotlib

命令来安装对应的模块

简单图形的绘制

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

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

例如

import math
import matplotlib.pyplot as pltnbSamples = 256
xRange = (-math.pi, math.pi)
x, y = [], []for n in range(nbSamples):ratio = (n + 0.5) / nbSamplesx.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 = 128x = 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://xiahunao.cn/news/2659601.html

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

相关文章

2023年山东省高职组区块链技术竞赛任务书

2023年山东省高职组区块链技术任务书 目录 模块一:区块链产品方案设计及系统运维 任务1-1:区块链产品需求分析与方案设计 任务1-2:区块链系统部署与运维 任务1-3:区块链系统测试 模块二:智能合约开发与测试 任务2-1&am…

python 实现粒子群算法(带绘制)

本文章用python实现了粒子群算法, 标准PSO的算法流程如下: 初始化一群微粒(群体规模为m),包括随机的位置和速度;评价每个微粒的适应度;对每个微粒,将它的适应值和它经历过的最好位…

Visual Studio使用——自定义代码片段 像使用IDEA一样能快捷输入

目录 引出Visual Studio使用自定义代码片段 Idea安装和使用0.Java下载 和 IDEA工具1.首次新建项目2.隐藏文件不必要显示文件3.目录层级设置4.Settings设置选择idea的场景提示代码不区分大小写 取消git的代码作者显示 总结 引出 Visual Studio使用——自定义代码片段 & 像使…

C++ 一个有bug的贪吃蛇。。。。。。。。

C 一个有bug的贪吃蛇。。。。。。。。 #include <graphics.h> #include<Windows.h> #include<Mmsystem.h> #include<conio.h> #include<time.h> #include<stdio.h> #include<easyx.h> using namespace std; #pragma warning(di…

Google Chrome 现在会在后台扫描泄露的密码

谷歌表示&#xff0c;Chrome 安全检查功能将在后台运行&#xff0c;检查网络浏览器中保存的密码是否已被泄露。 如果桌面用户正在使用标记为危险的扩展程序&#xff08;从 Chrome Web Store 中删除&#xff09;、最新的 Chrome 版本&#xff0c;或者如果启用安全浏览来阻止 Go…

Linux系统安装字体-解决Activiti流程图无法显示问题

1、安装插件 yum install -y fontconfig mkfontscale 2、将字体复制到指定文件夹 (找到Windows系统的C:\Windows\Fonts下找微软雅黑字体【MYYH.TTC】并上传到Linux) cp MYYH.TTC /usr/share/fonts/ 3、执行安装 cd /usr/share/fonts/ mkfontscale mkfontdir 4、刷新缓存 fc-ca…

Java开发框架和中间件面试题(8)

目录 82.Mybatis一级缓存&#xff0c;二级缓存&#xff1f; 83.Mybatis如何防止SQL注入&#xff1f; 84.mybatis中resultType和resultMap有什么区别&#xff1f; 85.如何在SpringBoot中禁用Actuator断点安全性&#xff1f; 86.什么是SpringBoot&#xff1f;SpringBoot有哪些…

为什么都建议配备人员摔倒AI检测算法

旭帆科技的AI智能分析网关v4包含有30多种算法&#xff0c;包括人体、车辆、行为分析、烟火、入侵、安全帽、反光衣等等&#xff0c;可应用在安全生产、通用园区、智慧社区、智慧工地等场景中。 今天&#xff0c;小编就其中的摔倒检测算法来展开聊聊&#xff0c;可以用于哪些场…

算法训练营Day26

#Java #全排列 #回溯 开源学习资料 Feeling and experiences&#xff1a; 递增子序列&#xff1a;力扣题目链接 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组…

GameFi 2024年或将迎来新的爆发!

在数字时代&#xff0c;游戏已经不仅仅是一种娱乐方式&#xff0c;更是一种跨越现实和虚拟界限的全球性文化现象。而游戏金融&#xff08;GameFi&#xff09;正是这场数字革命的下一个巨大风潮。 随着科技的不断发展和创新&#xff0c;2024年&#xff0c;GAMEFI&#xff08;Gam…

vitis HLS中实现canny算法的IP核

一、前言 canny边缘检测主要用于提取图像的边缘&#xff0c;是最常用且有效的边缘检测算法。在AMD赛灵思提供的库函数中&#xff0c;使用xf::cv::Canny和xf::cv::EdgeTracing两个函数实现canny边缘提取。本文举例说明如何在vitis HLS 2023.1中实现canny算法。 二、xf::cv::Cann…

《对话品牌》——活到老“养”到老

本期节目《对话品牌》栏目组邀请到了深圳壹常青健康管理有限公司董事长邬锡娣女士参加栏目录制&#xff0c;分享其企业故事&#xff0c;树立品牌形象&#xff0c;提升品牌价值&#xff01; 节目嘉宾&#xff1a;邬锡娣女士 节目主持人&#xff1a;董倩 节目播出平台&#xf…

Qt之自定义分页(翻页)控件

当数据量较大时,分页显示是个不错的选择。这里用百家姓来演示分页效果,包括首页、上一页、下一页、尾页和跳转。 一.效果 每页15个姓氏。 二.实现 QHPageWidget.h #ifndef QHPAGEWIDGET_H #define QHPAGEWIDGET_H#include <QWidget> #include <QStandardItemMod…

查询速度快 30 倍的 ClickHouse,凭什么替代 ELK?

背景 SaaS 服务未来会面临数据安全、合规等问题。公司的业务需要沉淀一套私有化部署能力&#xff0c;帮助业务提升行业竞争力。为了完善平台系统能力、我们需要沉淀一套数据体系帮助运营分析活动效果、提升运营能力。然而在实际的开发过程中&#xff0c;如果直接部署一套大数据…

059:vue中使用 AJAX来读取来自XML文件的信息

第059个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

CVE-2017-12794_Django debug page XSS漏洞

一、影响版本 Django < 1.10.8 Django < 1.11.5 二、漏洞复现 1、vulhub搭建环境 2、首次向数据库中插入数据&#xff0c;成功插入 3、向数据库中插入相同数据&#xff0c;Django报错&#xff0c;数据被打印且执行 三、漏洞分析 查看DIFF&#xff1a; https://g…

自动生成Java枚举类的工具

0、展示效果 1、文档 ONE,code1,1,描述1 two,code2,2,描述2 THREE,code3,3,描述32、工具类 package com.lfsun.generator.util;import java.io.*;/*** 枚举类生成器*/ public class EnumGenerator {private static final String MODULE_NAME "lfsun-study-generator&quo…

vue3 根据用户权限控制左侧菜单和路由拦截

目录 前言 整体思路 详细开发 1.左侧菜单的显隐控制 2.控制路由权限 补充权限控制 总结 前言 我这里是vue3开发的一个后台管理系统&#xff0c;所以涉及用户权限管理&#xff0c;以及页面权限等&#xff0c;其他模块部分可以查看专栏&#xff0c;这里只对怎么实现根据用…

【本地缓存篇】如何实现本地缓存?

如何实现本地缓存? ✔️典型解析✔️数据结构✔️线程安全✔️对象上限✔️清除策略✔️过期时间 ✔️扩展知识仓基于Caffeine实现本地缓存 ✔️典型解析 所谓本地缓存&#xff0c;就是和应用服务器在一起的缓存工具&#xff0c;将需要缓存的数据放到本地缓存中&#xff0c;可…

YOLOv5-Lite 树莓派4B 15帧教程

【前言】 由于v5Lite仓库遗漏了不少历史问题&#xff0c;最大的问题是毕业后卷起来了&#xff0c;找不到时间更新。 上面是这篇博客的背景&#xff0c;那么先说下结论&#xff0c;使用 v5lite-e 模型&#xff0c;在 树莓派4B&#xff08;4G内存&#xff09; 上&#xff0c;有三…