当前位置: 首页 > news >正文

Matplotlib数据可视化实战-1数据可视化Matplotlib基础

1.1绘图的一般过程:

1.导入相关库

2.生成、读入或计算得到数据; 

3.根据需要绘制折线图、散点图、柱状图、饼状图、雷达图、箱线图、三维曲线/曲面以及极坐标系图形;

4.根据需要设置图形属性;

5.显示或保存绘图结果。

例如:

import pandas as pd  
import matplotlib.pyplot as plt  # 读取CSV文件  
data = pd.read_csv('your_data.csv')  # 替换为你的CSV文件路径  # 假设CSV文件有两列数据,列名为'x'和'y'  
x_data = data['x']  
y_data = data['y']  # 绘制图形  
plt.plot(x_data, y_data)  # 添加标题和坐标轴标签  
plt.title('My Data Plot')  
plt.xlabel('X Axis')  
plt.ylabel('Y Axis')  # 显示网格  
plt.grid(True)  # 显示图形  
plt.show()

1.2图形属性设置

1.设置坐标轴标签:使用matplotlib.pyplot模块的xlabel()、ylabel()函数或轴域的set_xlabel()、set_ylabel()方法;

2.设置坐标轴刻度:使用matplotlib.pyplot模块的xticks()、yticks()函数或轴域set_xticks()、set_yticks()方法;

3.设置图例:使用matplotlib.pyplot模块的legend()函数或轴域的同名方法;

4.设置标题:使用matplotlib.pyplot模块title()、suptitle()函数或轴域的set_title()方法。

1.3显示中文字符

Matplotlib默认情况下无法直接显示中文字符,如果图形中需要显示中文字符,可以使用import matplotlib.pyplot as plt 导入模块pyplot,然后查看plt.rcParams字典中的当前值并进行必要的修改,也可以通过pyplot模块的xlabel()、ylabel()、xticks()、yticks()、title()等函数或轴域(也称子图)对象对应的方法的fontproperties参数对坐标轴标签、坐标轴刻度、标题单独进行设置;如需设置图例中的中文字符可以通过legend()函数的prop参数进行设置。

使用下面的代码可以查看所有的可用字体。

from matplotlib.font_manager import fontManagernames =sorted([f.name for f in fontManager.ttflist])for name in names:print(name)

结果输出(部分展示):

Arial
Arial
Arial
Arial
Arial
Bahnschrift
Calibri
Calibri
Calibri
Calibri
Calibri
Calibri
Cambria
Cambria
Cambria
Cambria
Candara
Candara
Candara
Candara
Candara
Candara
Comic Sans MS
Comic Sans MS
Comic Sans MS
Comic Sans MS
Consolas
Consolas
Consolas
Consolas
Constantia
Constantia
Constantia
Constantia
Corbel
Corbel
Corbel
Corbel
Corbel
Corbel
Courier New
Courier New
Courier New
Courier New
DejaVu Math TeX Gyre
DejaVu Sans
DejaVu Sans
DejaVu Sans
DejaVu Sans
DejaVu Sans Display
DejaVu Sans Mono
DejaVu Sans Mono
DejaVu Sans Mono
DejaVu Sans Mono
DejaVu Serif
DejaVu Serif
DejaVu Serif
DejaVu Serif
DejaVu Serif Display
DengXian
DengXian
DengXian
Ebrima
Ebrima
FZCaiYun-M09
FZCuYuan-M03
FZDaBiaoSong-B06
FZDaHei-B02
FZFangSong-Z02
FZHei-B01S
FZKai-Z03
FZNew BaoSong-Z12
FZNew ShuTi-S08
FZXiDengXian-Z06
FZXiQian-M15
FZXiYuan-M01
FZXiaoBiaoSong-B05
FZXiaoBiaoSong-B05S
FZXingKai-S04
FZZhongDengXian-Z07 
FZZhongQian-M16
FZZhunYuan-M02
FangSong
FangSong_GB2312
Franklin Gothic Medium
Franklin Gothic Medium
Gabriola
Gadugi
Gadugi
Georgia
Georgia
Georgia
Georgia
HoloLens MDL2 Assets

注意:在进行可视化时,应尽量避免仅仅依赖于颜色的不同来区分同一图形中的多个线条、柱或面片,还应借助于线型、线宽、端点符号、填充符号等属性来提高区分度。【因为不是总能保证有彩色打印机】

在绘图中,同一组数据可以使用不同形式的图形进行可视化,既可以绘制折线图,也可以绘制柱状图、散点图、饼状图等其他图形。

1.4绘图结果显示或保存

绘制图形并设置外围属性之后可以调用pyplot模块的show()函数直接显示图形,也可以使用savefig()函数或图形对象的同名方法保存图片文件。

savefig()函数完整用法如下:

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

参数说明

  • fname:文件名或类似文件的对象。可以是文件的路径(如 'figure.png' 或 'path/to/figure.pdf'),或者是任何具有 write() 方法的对象,比如 BytesIO。
  • dpi:图像的分辨率,即每英寸的点数。如果设置为 None,则默认使用保存格式的默认分辨率。
  • facecolor 和 edgecolor:图像的背景色和边框色。默认为白色。
  • format:文件格式。如果未指定,Matplotlib 会根据提供的文件名推断格式。例如,如果 fname 是 'figure.png',则格式是 'png'
  • transparent:如果为 True,则图像的背景将是透明的。这通常与 facecolor 和 edgecolor 设置为 'none' 一起使用。
  • bbox_inches:一个 Bbox 对象,或者 'tight' 或 'standard'。用于确定保存图像时考虑的图形区域。'tight' 会裁剪图形周围的空白,'standard' 会使用图形的完整区域。
  • pad_inches:在保存图像时,在图形周围添加的额外空白(以英寸为单位)。
  • frameon:是否绘制图形框架。如果设置为 None,则使用当前图形的 frameon 设置。
  • orientation 和 papertype:这些参数主要用于 PostScript 和 PDF 输出,用于控制页面的方向和类型。
  • format_kw:一个字典,包含特定于输出格式的额外关键字参数。例如,对于 JPEG 图像,你可以设置压缩质量。
  • metadata:一个字典,包含要保存到文件中的元数据。

例如:

import matplotlib.pyplot as plt
import numpy as np# 创建一些示例数据
x = np.linspace(0, 10, 100)
y = np.sin(x)# 绘制图形
plt.plot(x, y)
plt.title('Sine Curve')
plt.xlabel('x')
plt.ylabel('y')# 保存图形为 PNG 文件
plt.savefig('sine_curve.png', dpi=300)# 显示图形(可选)
plt.show()

 

1.5 Matplotlib绘图风格样式

 Matplotlib绘图风格样式很多,下列代码列出了所有可用的样式。

import matplotlib.pyplot as plt
plt.style.available
print(plt.style.available)

结果输出:

['Solarize_Light2', '_classic_test_patch', '_mpl-gallery', '_mpl-gallery-nogrid', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark', 'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'tableau-colorblind10']

下面的举例将演示如何指定图形演示,图1.5.1和图1.5.2分别演示默认样式和fivethirtyeight两种样式的效果,其他样式大家可以自行测试。

1.5.1默认样式

import numpy as np
import matplotlib.pyplot as pltx = np.arange(0,7,0.01)
y = np.sin(x)
plt.plot(x,y)
plt.show()

1.5.2指定样式

import numpy as np
import matplotlib.pyplot as plt#指定图形样式
plt.style.use('fivethirtyeight')
x = np.arange(0,7,0.01)
y = np.sin(x)
plt.plot(x,y)
plt.show()

 

相关文章:

Matplotlib数据可视化实战-1数据可视化Matplotlib基础

1.1绘图的一般过程: 1.导入相关库 2.生成、读入或计算得到数据; 3.根据需要绘制折线图、散点图、柱状图、饼状图、雷达图、箱线图、三维曲线/曲面以及极坐标系图形; 4.根据需要设置图形属性; 5.显示或保存绘图结果。 例如&…...

信也科技发布消费者权益保护2023年度报告: 科技驱动、服务为先、合作共建社会化消保体系

3月15日消费者权益日当天,信也科技发布《消费者权益保护2023年度报告》(下称《报告》,消费者权益保护简称“消保”)。该报告为信也科技消保委员会成立后首份公开披露的消保工作年度总结。《报告》显示,信也科技通过智能…...

REDHAWK——连接(续)

文章目录 前言一、突发 IO1、数据传输①、输入②、输出 2、突发信号相关信息 (SRI)3、多输出端口4、使用复数数据①、在 C 中转换复数数据 5、时间戳6、端口统计①、C 二、消息传递1、消息生产者①、创建一个消息生产者②、发送消息 2、消息消费者①、创建消息消费者②、注册接…...

9.Python从入门到精通—Python 字符串格式化,三引号,Unicode 字符串

9.Python从入门到精通—Python 字符串格式化,三引号,Unicode 字符串 Python 字符串格式化Python 三引号Unicode 字符串创建 Unicode 字符串Python 的字符串内建函数 Python 字符串格式化 Python中的字符串格式化是指将一个字符串中的占位符替换为指定的值。Python中有多种字符串…...

O2OA(翱途)开发平台系统安全-用户登录IP限制

O2OA(翱途)开发平台[下称O2OA开发平台或者O2OA]支持对指定的用户设置可以连接的客户端计算机的IP地址,以避免用户在不安全的环境下访问系统。本篇主要介绍如何开启O2OA用户登录IP限制。 一、先决条件: 1、O2Server服务器正常运行,系统安装部…...

DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x800c000d

报出这个问题,应该是对给的url解析不正确,我给的是rtsp的视频流地址,应该是对该格式解析异常。 所以参考两篇文: QT无法播放视频:报错:DirectShowPlayerService::doRender: Unresolved error code 0x8004…...

【测试流程及规范】8000字超详细完整版

前言: 首先注明该文由本人原创,转载时需注明出处;团队背景:测试团队加上我一共5名,Java开发10多位,前端3位,产品4位,还有架构工程师、运维等;公司IT团队开发的系统仅供内…...

第十四届蓝桥杯省赛真题 Java C 组【原卷】

文章目录 发现宝藏【考生须知】试题 A \mathrm{A} A : 求和试题 B: 分糖果试题 C: 三国游戏试题 D : \mathrm{D}: D: 平均试题 E \mathrm{E} E : 填充试题 F : \mathrm{F}: F: 棋盘试题 G: 子矩阵试题 H: 公因数匹配试题 I: 异或和之差试题 J : \mathrm{J}: J: 太阳 发现宝…...

v-model 粗略解析

v-model 粗略解析 v-model是什么? 双向数据绑定,可以从data流向页面,也可以从页面流向data通常用于表单收集,v-model 默认绑定 value 值书写形式: v-model:value"" 或 v-model v-model原理是什么&#xf…...

【vue elementUI】修改el-dropdown样式

实现效果如下&#xff1a; 代码如下&#xff1a; <el-dropdown trigger"click" command"handleCommand" active-text-color"#606266"><span class"product-card">{{getCategoryName(categoryId)}}</span><el-dro…...

6语言交易所/多语言交易所php源码/微盘PHP源码

6语言交易所PHP源码&#xff0c;简单测试了一下&#xff0c;功能基本都是正常的。 由于是在本地测试的运行环境的问题&#xff0c;K线接口有点问题&#xff0c;应该在正式环境下是OK的。 源码下载地址&#xff1a;6语言交易所/多语言交易所php源码/微盘PHP源码.zip 程序截图…...

动态规划——传球问题

题目链接&#xff1a;1.传球游戏 - 蓝桥云课 (lanqiao.cn) 本题关键在于动态规划的数组设计&#xff0c;以及围坐一圈时索引的变化。 首先是动态规划&#xff0c;由于是求球传递m次回到第一位同学&#xff0c;那么就可以设计成一个二维数组&#xff0c;每个位置代表的是&#x…...

Spring: 文件服务使用spring.web.resources.static-locations配置实现文件预览功能

文章目录 一、spring.web.resources.static-locations配置实现文件预览功能1、来实现文件预览的步骤2、总结 二、其他的文件预览实现方式1、使用Controller处理文件预览请求2、集成第三方文件预览库3、使用专门的文件预览服务4、配置Nginx等反向代理进行文件预览5、注意事项&am…...

分享常用的62 个九宫格抽奖及各种宫格效果源码

九宫格抽奖及各种宫格效果详细介绍 功演示效果及源码下载地址&#xff1a;https://www.erdangjiade.com/js/17-0-0-0 九宫格抽奖盘是一种常见的抽奖形式&#xff0c;由九个格子组成&#xff0c;每个格子代表一个奖项。抽奖时&#xff0c;指针会随机旋转&#xff0c;最终落在某…...

【Stable Diffusion】入门-03:图生图基本步骤+参数解读

目录 1 图生图原理2 基本步骤2.1 导入图片2.2 书写提示词2.3 参数调整 3 随机种子的含义4 拓展应用 1 图生图原理 当提示词不足以表达你的想法&#xff0c;或者你希望以一个更为简单清晰的方式传递一些要求的时候&#xff0c;可以给AI输入一张图片&#xff0c;此时图片和文字是…...

数学建模-多目标规划算法(美赛建模)

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是viperrrrrrr~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#xff…...

安装、配置MySQL

安装相关软件 MySQL Server、MySQL Workbench MySQL Server&#xff1a;专门用来提供数据存储和服务的软件 MySQL Workbench&#xff1a;可视化的 MySQL 管理工具 官网安装 https://www.mysql.com/ 官网 MySQL :: Download MySQL Installer 安装包路径 在这里选择版本和和对应…...

C++面试100问(九)

C中typdef和#define区别&#xff1f; #define是预处理命令&#xff0c;在预处理是执行简单的替换&#xff0c;不做正确性的检查&#xff1b;typedef是在编译时处理的&#xff0c;它是在自己的作用域内给已经存在的类型一个别名。 C中有哪些调试程序的方法&#xff1f; windows…...

出海品牌必备指南:海外网红营销5大底层逻辑解析

随着全球化的推进&#xff0c;品牌出海已经成为许多企业拓展市场的重要策略之一。在这个过程中&#xff0c;海外网红营销成为品牌吸引目标受众、提升知名度的有效工具。然而&#xff0c;要在海外市场取得成功&#xff0c;并不仅仅是找准网红合作伙伴&#xff0c;更需要深入了解…...

Linux/Ubuntu/Debian的终端中和的区别

下边举例说明&#xff1a; “cd /home & wine ps.exe”和“cd /home && wine ps.exe”之间的区别在于命令在类 Unix shell 环境&#xff08;例如 Linux 或 macOS&#xff09;中执行的方式&#xff1a; ‘cd /home & wine ps.exe’: 在此命令中&#xff0c;“…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...

UE5 音效系统

一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类&#xff0c;将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix&#xff0c;将上述三个类翻入其中&#xff0c;通过它管理每个音乐…...