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原理是什么…...
【vue elementUI】修改el-dropdown样式
实现效果如下: 代码如下: <el-dropdown trigger"click" command"handleCommand" active-text-color"#606266"><span class"product-card">{{getCategoryName(categoryId)}}</span><el-dro…...
6语言交易所/多语言交易所php源码/微盘PHP源码
6语言交易所PHP源码,简单测试了一下,功能基本都是正常的。 由于是在本地测试的运行环境的问题,K线接口有点问题,应该在正式环境下是OK的。 源码下载地址:6语言交易所/多语言交易所php源码/微盘PHP源码.zip 程序截图…...
动态规划——传球问题
题目链接:1.传球游戏 - 蓝桥云课 (lanqiao.cn) 本题关键在于动态规划的数组设计,以及围坐一圈时索引的变化。 首先是动态规划,由于是求球传递m次回到第一位同学,那么就可以设计成一个二维数组,每个位置代表的是&#x…...
Spring: 文件服务使用spring.web.resources.static-locations配置实现文件预览功能
文章目录 一、spring.web.resources.static-locations配置实现文件预览功能1、来实现文件预览的步骤2、总结 二、其他的文件预览实现方式1、使用Controller处理文件预览请求2、集成第三方文件预览库3、使用专门的文件预览服务4、配置Nginx等反向代理进行文件预览5、注意事项&am…...
分享常用的62 个九宫格抽奖及各种宫格效果源码
九宫格抽奖及各种宫格效果详细介绍 功演示效果及源码下载地址:https://www.erdangjiade.com/js/17-0-0-0 九宫格抽奖盘是一种常见的抽奖形式,由九个格子组成,每个格子代表一个奖项。抽奖时,指针会随机旋转,最终落在某…...
【Stable Diffusion】入门-03:图生图基本步骤+参数解读
目录 1 图生图原理2 基本步骤2.1 导入图片2.2 书写提示词2.3 参数调整 3 随机种子的含义4 拓展应用 1 图生图原理 当提示词不足以表达你的想法,或者你希望以一个更为简单清晰的方式传递一些要求的时候,可以给AI输入一张图片,此时图片和文字是…...
数学建模-多目标规划算法(美赛建模)
💞💞 前言 hello hello~ ,这里是viperrrrrrr~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页ÿ…...
安装、配置MySQL
安装相关软件 MySQL Server、MySQL Workbench MySQL Server:专门用来提供数据存储和服务的软件 MySQL Workbench:可视化的 MySQL 管理工具 官网安装 https://www.mysql.com/ 官网 MySQL :: Download MySQL Installer 安装包路径 在这里选择版本和和对应…...
C++面试100问(九)
C中typdef和#define区别? #define是预处理命令,在预处理是执行简单的替换,不做正确性的检查;typedef是在编译时处理的,它是在自己的作用域内给已经存在的类型一个别名。 C中有哪些调试程序的方法? windows…...
出海品牌必备指南:海外网红营销5大底层逻辑解析
随着全球化的推进,品牌出海已经成为许多企业拓展市场的重要策略之一。在这个过程中,海外网红营销成为品牌吸引目标受众、提升知名度的有效工具。然而,要在海外市场取得成功,并不仅仅是找准网红合作伙伴,更需要深入了解…...
Linux/Ubuntu/Debian的终端中和的区别
下边举例说明: “cd /home & wine ps.exe”和“cd /home && wine ps.exe”之间的区别在于命令在类 Unix shell 环境(例如 Linux 或 macOS)中执行的方式: ‘cd /home & wine ps.exe’: 在此命令中,“…...
docker compose部署opensearch集群
docker compose 配置 假设有两台电脑 A电脑的ip为192.168.1.100 B电脑的ip为192.168.1.103 A电脑的docker compose 配置 version: 3services:opensearch:image: opensearchproject/opensearch:2.1.0container_name: opensearch-node-1environment:- cluster.nameopensearch-c…...
粤嵌6818开发板通过MobaXterm使用SSH连接开发板
链接:https://pan.baidu.com/s/18ISP4Ub1HtQx6jCvTQTUHw?pwdfjmu 提取码:fjmu 1.把SSH_config.tar.bz 下载到开发板中 2.解压 SSH_config.tar.bz 解压命令:tar -xzvf SSH_config.tar.bz 3.配置SSH 进入SSH/openssh目录&am…...
Python实战:Flask轻量级web框架入门
Flask是一个轻量级的Web框架,它是由Armin Ronacher开发的,使用Python语言编写。Flask易于上手,具有高度的可扩展性,非常适合快速开发Web应用程序。 一.Flask简介 Flask是一个基于Werkzeug WSGI工具箱和Jinja2模板引擎的Web框架。…...
docker 安装minio,详细图解
废话不多说,直接上干货 docker 安装minio 拉取镜像 docker pull minio/minio创建数据目录、配置目录 mkdir /opt/minio/data mkdir /opt/minio/config启动容器 docker run -p 9000:9000 -p 9090:9090 \--name minio \-d --restartalways \-e "MINIO_ACCESS_KE…...
【SpringBoot】请求与响应参数 IoC与DI 总结
文章目录 ① —— 请求 ——一、简单参数 RequestParam1.1 参数与形参 命名相同1.2 参数与形参 命名不同 二、实体参数2.1 简单实体对象2.2 复杂实体对象 三、数组集合参数3.1 数组3.2 集合 RequestParam 四、日期参数 DateTimeFormat五、JSON参数 RequestBody六、路径参数 Pat…...
100道面试必会算法-05-字符串转换整数 (atoi)
100道面试必会算法-05-字符串转换整数 (atoi) 实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格检查…...
Ypay源支付2.8.8免授权聚合免签系统
本帖最后由 renleixiaoxu 于 2024-3-15 09:46 编辑 产品介绍 XPay是专为个人站长打造的聚合免签系统,拥有卓越的性能和丰富的功能。采用全新轻量化的界面UI,让您可以更加方便快捷地解决 知识付费和运营赞助的难题。同时,它基于高性能的Thin…...
从零到一构建短链接系统(三)
1.根据数据库表,利用在线网站https://jully.top/generator/ 根据数据库Info自动生成代码 2.在entity中创建UserDO Data TableName("t_user") public class UserDO { /** * id */ private Long id; /** * 用户名 */ private String username; /** * 密码…...
C语言易错知识点:scanf函数
scanf在C语言学习中比较常用,但因为其涉及屏幕缓冲区导致有的时候会调入陷阱,下面分享一下常见的需要注意的事项: 1.输入末尾带有回车\n 当我们输入数据后,最后按下回车时,屏幕缓冲区的末尾都会含有这个字符 scanf的…...
如何实现图片上传至服务器
在绝大多数的项目中都会涉及到文件上传等,下面我们来说一下技术派中是如何实现原生图片上传的,这个功能说起来简单,但其实对于技术还是有考验的。图片的上传涉及到IO读写,一个文件上传的功能,就可以把IO流涉及到的知识…...
分析网站统计对网络营销的价值/自助建站系统平台
原创:协议实验室编译:华科闪云原文链接:https://blog.ipfs.io/2020-05-19-road-to-dht/4月底,我们发布了迄今为止最大的go-ipfs更新:IPFS 0.5.0。此升级为IPFS带来了主要的性能和可靠性改进,尤其是在内容发…...
郑州网站设计 公司/深圳网站seo
忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-04-06 ❤️❤️ 本篇更新记录 2023-04-06 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝ὤ…...
做演示的网站/今日热榜官网
通过Navicat进行Mysql数据库自动备份与还原 Mysql数据库自动备份流程 Navicat版本为:Navicat 12.0.26 例:test为用于测试自动备份的数据库,里面有表t_person,表中有两条数据。 1.点击“自动运行”(有些Navicat版本中是…...
南京网站快速排名提升/如何推广外贸型网站
信息:数据、消息中所包含的消息 数据:在数据传输过程中,被传输的二进制代(数字化信息) 数据是信息的表现形式和载体 信号:运输数据的工具,是数据的载体,是数据的表现形式 信号是运载…...
企业网站建设的报价/网站搜索排名靠前
随着大众创业万众创新的浪潮,越来越多的大企业切入企业服务,同时创业型的企业服务公司也不断涌现。近期听一个创业中的朋友介绍企业魔方,一款现金管理和人力资源管理的工具,是一款“有人味”的产品,自己公司用了后员工…...
凡科微传单app软件下载/厦门seo排名优化公司
一、安装node.js文件 安装原因:由于electron是基于nodejs的,所以我们首先要安装nodejs 安装包地址:https://download.csdn.net/download/cevery/10815530或http://nodejs.cn/download/ 安装步骤:根据所选需要一路next。 测试是…...