数据科学:Matplotlib、Seaborn笔记

news2025/1/19 14:39:06

数据科学:Numpy、Pandas、Matplotlib、Seaborn

    • 三、Matplotlib
      • 1.Matplotlib subplots函数
      • 2.tight_layout()函数
      • 3.Matplotlib grid()设置网格格式
      • 4.fill_between()函数
      • 示例
        • 设置x轴为时间刻度
        • 热力图
    • 四、Seaborn
      • 1.set
      • 2.seaborn.scatterplot
    • 参考

数据科学:Numpy、Pandas

三、Matplotlib

1.Matplotlib subplots函数

ig, ax = plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False, **kwargs)
  • nrows: 行数
  • ncols: 列数
  • sharex: 是否共享x轴刻度
  • sharey: 是否共享y轴刻度
  • figsize: 图形大小
# 绘制多个箱线图
import matplotlib.pyplot as plt
import numpy as np

data1 = np.random.randn(1000)
data2 = np.random.randn(1000)

fig, axs = plt.subplots(2, sharex=True, sharey=True)
fig.suptitle('Multiple Boxplot')

axs[0].boxplot(data1)
axs[0].set_title('Boxplot 1')
axs[1].boxplot(data2)
axs[1].set_title('Boxplot 2')

plt.show()

2.tight_layout()函数

matplotlib库的pyplot模块中的tight_layout()函数用于自动调整子图参数以提供指定的填充。

matplotlib.pyplot.tight_layout(pad=1.08, h_pad=None, w_pad=None, rect=None)
  • pad:此参数用于在图形边和子图的边之间进行填充,以字体大小的一部分表示。
  • h_pad,w_pad:这些参数用于相邻子图的边之间的填充(高度/宽度),作为字体大小的一部分。
  • rect:此参数是整个子图区域将适合的归一化图形坐标中的矩形。

3.Matplotlib grid()设置网格格式

通过Matplotlib axes 对象提供的 grid() 方法可以开启或者关闭画布中的网格(即是否显示网格)以及网格的主/次刻度。除此之外,grid() 函数还可以设置网格的颜色、线型以及线宽等属性。

grid(color='b', ls = '-.', lw = 0.25)
  • color:表示网格线的颜色;
  • ls:表示网格线的样式;
  • lw:表示网格线的宽度;

4.fill_between()函数

fill_between和fill_betweenx函数的作用都是填充两条曲线之间的区域。其中

  • fill_between函数作用是填充两条水平曲线之间的区域。
  • fill_betweenx函数作用是填充两条垂直曲线之间的区域。
matplotlib.pyplot.fill_between(x, y1, y2=0, where=None, interpolate=False, step=None, *, data=None, **kwargs)

参数说明如下:

  • x:定义两条曲线的节点的x坐标。长度为N的类数组结构。必备参数。
  • y1:定义曲线的节点的y坐标。长度为N的类数组结构或者标量。必备参数。
  • y2:定义第2条曲线的节点的y坐标。长度为N的类数组结构或者标量,默认值为0。可选参数。
  • where:根据条件排除一些填充区域。长度为N的布尔数组。默认值为None。可选参数。
  • interpolate:当该属性为True时将计算实际交点,并将填充区域延伸到此点。布尔值。默认值为False。注意:该属性只有使用了where属性且两条曲线相互交叉时才生效。

示例

设置x轴为时间刻度
imoort pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

df = pd.read_excel("***.xlsx")
# 绘制图像
fig, ax = plt.subplots()
ax.plot(df['time'], df['*'])
# 配置x轴时间间隔
time_format = mdates.DateFormatter('%H:%M:%S')
ax.xaxis.set_major_formatter(time_format)
ax.xaxis.set_major_locator(mdates.MinuteLocator(interval=240))
# 设置刻度位置
ax.set_xticks(pd.date_range(df['time'][0], df['time'][-1], freq='4h'))
# 还可以使用ax.set_xticklabels()来设置刻度的标签
# 设置开始坐标
ax.set_xlim(df['time'][0], df['time'][-1])
# 旋转x轴标签
fig.autofmt_xdate()
# 展示图形
plt.show()
热力图

散点图坐标轴为数值型数据,热力图类别型数据,体现的是两组变量的相关性

# 案例背景:工厂出货品质的好坏
factories = ['fac1','fac2','fac3','fac4','fac5']
quanlity = ['bad','poor','general','good','great']
result = np.round(np.random.random(25).reshape(5,5),1)

fig,ax = plt.subplots(1,1)

ax.imshow(result)

# 轮流锁定单元格
for i in np.arange(len(factories)):
    for j in np.arange(len(quanlity)):
        plt.text(j,i,result[i][j],color='w',ha='center',va='center')
        
# 设置坐标轴的类别数据标签
ax.set_xticks(np.arange(len(quanlity)))
ax.set_yticks(np.arange(len(factories)))
ax.set_xticklabels(quanlity)
ax.set_yticklabels(factories)

# 修饰工作
ax.set_title('goods quality of factories')
fig.tight_layout()

在这里插入图片描述
Python数据可视化matplotlib和pyecharts参数详解

四、Seaborn

1.set

设置绘图的背景色、风格、字型、字体等

seaborn.set(context='notebook', style='darkgrid', palette='deep', font='sans-serif', font_scale=1, color_codes=True, rc=None)

Seaborn有五个预设好的主题: darkgrid, whitegrid,dark,white,和 ticks,默认为darkgrid

控制风格:axes_style(), set_style()

缩放绘图:plotting_context(), set_context()

2.seaborn.scatterplot

seaborn.scatterplot(
    x=None, y=None,   - vectors or keys in data 作用:指定 x 轴和 y 轴上位置的变量。
    hue=None,         - vector or key in data 作用:将生成不同颜色的点的变量分组。
    					可以是分类或数字,尽管颜色映射在后一种情况下会有不同的行为。
    style=None,       - vector or key in data 作用:将生成具有不同标记的点的变量分组。
    					可以具有数字 dtype,但始终被视为分类类型。
    size=None,        - vector or key in data  作用:将生成不同大小的点的变量分组。
    					可以是分类型的,也可以是数值型的,尽管大小映射在后一种情况下会有不同的行为
    data=None,        - pandas.DataFrame, numpy.ndarray, mapping, or sequence 
    					作用:输入数据结构。要么是可以分配给命名变量的长形式向量集合,
    						要么是将在内部重新形成的宽形式数据集合。
    sizes=None,       - list, dict, or tuple  作用:一个对象,它决定使用时如何选择大小。
    					它始终可以是大小值的列表,或者是变量到大小的 dict 映射级别。
    					当是 numeric 时,它也可以是一个元组,指定要使用的最小和最大大小,
    					以便在这个范围内对其他值进行规范化
    size_order=None,  - list 作用:为变量级别的外观指定顺序,否则根据数据确定它们。
    					如果变量是 numeric.sizeize,则不相关
    size_norm=None,   - tuple or Normalize object 作用:当变量是 numeric.size 时,
    					用于缩放绘图对象的数据单元的规范化
    markers=True,     - boolean, list, or dictionary 
    					作用:对象,确定如何为变量的不同级别绘制标记。设置为将使用默认标记,
    						或者可以将变量的标记列表或字典映射级别传递给标记。
    						设置为将绘制无标记线。在 matplotlib.styleTruestyleFalse 中指定标记
    alpha=None,       - float 作用:点的比例不透明度。
): 

参考

matplotlib中文
https://github.com/datawhalechina/fantastic-matplotlib

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

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

相关文章

github打不开,全网最简单解决方法,没有之一

下载watt toolkit, 选择‘github’,点击‘一键加速’, 具体步骤如下:去电脑微软商店下载watt toolkit,或者直接打开网址https://apps.microsoft.com/detail/9MTCFHS560NG?hlen-us&glUS 如图,点击安装i…

Sun Apr 16 00:00:00 CST 2023格式转换

Date date new Date(); log.info("当前时间为:{}",date); //yyyy-MM-dd HH:mm:ss SimpleDateFormat sdf new SimpleDateFormat(DateUtils.YYYY_MM_DD_HH_MM_SS); String dateTime s…

Android11适配已安装应用列表

Android11适配已安装应用列表 之前做过已安装应用列表的适配,最近国内版SDK升级到33和隐私合规遇到很多问题,于是把已安装应用列表记录一下: 1、在Android11及以上的适配: package com.example.requestinsttallapplistdemoimpo…

电磁兼容EMC理论基础汇总

目录 0. 序言 1. EMC的基础介绍 1.1 EMC电磁兼容的定义 1.2 EMC的重要性 1.3 EMC的三要素 2. 库仑定律 3. 趋肤效应与趋肤深度 4. 电阻抗公式 4.1 电阻 4.2 容抗 4.3 感抗 4.4 电路元件的非理想性 5. 麦克斯韦方程组 5.1 高斯磁定律 5.2 高斯定律 5.3 法拉…

一文讲透Python函数的创建和调用

1.Python提供了函数作为完成某项工作的标准化代码块 Python本质上是一种编程语言,通过编写运行代码的方式实现工作目标。读者可以想象,如果针对机器学习或数据统计分析的每种方法或统计量计算都要用户自行编写代码,那么显然在很多情况下是无…

Rust 语言:认识 Rust

本心、输入输出、结果 文章目录 Rust 语言:认识 Rust前言Rust的特点Rust LOGO Rust 在IT行业的应用前景Rust 是一门系统级编程语言相关链接花有重开日,人无再少年实践是检验真理的唯一标准 Rust 语言:认识 Rust 编辑:简简单单 Onl…

多级缓存自用

1.什么是多级缓存 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图: 存在下面的问题: •请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈 •Redis缓存失效时,会对数据库产生冲击 多级缓存就是充分利用请求处理的每个环节,添加缓…

python系统调用执行ping命令无法检测到超时情况(破案了:ping命令-W参数单位为s,我写了个1000)

文章目录 问题描述破案了:ping命令-W参数单位为s,我写了个1000。。。,,ԾㅂԾ,, 问题描述 我用了系统调用去执行ping,一开始用os.system(),有问题,后面用subprocess问题还是存在,后来我把这个改了&#xff…

VMware17 下载、安装、成功安装效果、完整卸载

VMware17 下载、安装、卸载 下载 VMware17 安装 更改安装路径 去掉这两个复选框,点击安装。 安装结束,点击许可证。 输入序列号,点击【输入】 序列号:MC60H-DWHD5-H80U9-6V85M-8280D 点击完成 测试安装效果 永不过期&am…

Linux 编译安装colmap

COLMAP可以作为独立的app,通过命令行或者图形交互界面使用,也可以作为一个库被包含到其他源代码中。 这里记录一下编译安装colmap的过程,首先需要安装好CUDA,CUDA具体安装过程这里就不赘述了。在GitHub上下载源代码,我…

Stream API 方法使用总结

文章目录 1.1、Stream介绍1.2、Stream创建对象(1)empty()方法(2)of()方法(3)Arrays.stream()方法(4)list.stream()方法 1.3、Stream中间方法(1)filter()方法&…

100W用户、8000W流量在线贺卡应用架构如何优化?

文章目录 🔊博主介绍🥤本文内容📢文章总结📥博主目标 🔊博主介绍 🌟我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作…

Trie字符串统计(字典树的插入与查找)

题目: 插入模拟:假如现在要依次插入cat,car,busy,cate,bus,car 查找: 代码: import java.util.Scanner;public class Main {public static int[][] chnew int[100010][26];public static int[] cntnew int[100010];public static…

维基百科文章爬虫和聚类:高级聚类和可视化

一、说明 维基百科是丰富的信息和知识来源。它可以方便地构建为带有类别和其他文章链接的文章,还形成了相关文档的网络。我的 NLP 项目下载、处理和应用维基百科文章上的机器学习算法。 在我的上一篇文章中,KMeans 聚类应用于一组大约 300 篇维基百科文…

scikit-learn线性回归法进行利润预测

大家好,生成式人工智能无疑是一个改变游戏规则的技术,但对于大多数商业问题来说,回归和分类等传统的机器学习模型仍然是首选。 私募股权或风险投资这样的投资者利用机器学习,首先必须了解关注的数据以及它是如何被使用的。投资公…

力扣226:翻转二叉树

力扣226:翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root [2,1,3]…

matlab科学计算

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

yolo.txt格式与voc格式互转,超详细易上手

众所周知,yolo训练所需的标签文件类型是.txt的,但我们平时使用标注软件(labelimage等)标注得到的标签文件是.xml类型的,故此xml2txt之间的转换就至关重要了,这点大家不可能想不到,但是网上的文章提供的代码大多数都是冗余,或者难看,难以上手,故此作者打算提供一个相对…

构建第一个ArkTS应用(纯HarmonyOS应用)

1. 安装开发工具 在华为开发者官方上下载HarmonyOS应用专用的开发工具,链接地址:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 要想使用开发工具让项目跑起来,需要10G的磁盘空间。开发工具需要的磁盘空间为2.36G;SDK需…

【开源存储】minio对象存储部署实践

文章目录 一、前言1、介绍说明2、部署方式3、冗余模式4、约束限制4.1、规格参数4.2、API支持a、minio不支持的Amazon S3 Bucket APIb、minio不支持的Amazon S3 Object API 二、部署说明1、软件安装2、minio单机部署3、minio分布式部署3.1、前置条件3.2、开始运行3.3、操作说明 …