数据科学:Matplotlib、Seaborn笔记

数据科学:Numpy、Pandas

数据科学:Matplotlib、Seaborn笔记

数据科学:Numpy、Pandas、Matplotlib、Seaborn、Scipy、Scikit-Learn

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

三、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 npdata1 = 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 mdatesdf = 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()

常用函数

sns.distplot() – 绘制单变量分布图
sns.jointplot() – 绘制双变量关系图
sns.pairplot() – 绘制多变量关系图
sns.barplot() – 绘制条形图
sns.countplot() – 绘制计数图
sns.boxplot() – 绘制箱线图
sns.violinplot() – 绘制小提琴图
sns.heatmap() – 绘制热力图
sns.lineplot() – 绘制线图
sns.scatterplot() – 绘制散点图

3.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.mzph.cn/news/205506.shtml

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

相关文章

<蓝桥杯软件赛>零基础备赛20周--第9周--前缀和与差分

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周(读者可以按…

从零开始的c语言日记day41——自定义类型结构体

一、结构体的声明 1.1结构的基础知识 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 Tag结构体标签 Member-list成员列表-里面可以有很多成员 Variable-list变量列表 结构体类型的定义方式 S1,s2是struct stu类型的…

黑苹果之显卡篇

一、什么是显卡 显卡GPU(Video card、Display card、Graphics card、Video adapter)是个人计算机基础的组成部分之一,将计算机系统需要的显示信息进行转换驱动显示器,并向显示器提供逐行或隔行扫描信号,控制显示器的正…

python数据分析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 pandas统计分析基础实训 实训1 读取并查看某地区房屋销售数据的基本信息1. 训练要点2. 需求说明3.实现思路及步骤 实训2 提取房屋售出时间信息并描述房屋价格信息1. 训练要点…

数据结构 图的广度优先搜索和深度优先搜索

一、广度优先搜索 广度优先搜索等价于树的层次遍历,将起点的每一层进行遍历 当这一层结点全部被遍历完时,再遍历下一层次,从图中可以根据距离遍历起点的长度进行层次选择 例: 以a结点作为开始结点 a的下一层次有b c e三个结点 所以…

Spark Structured Streaming使用教程

文章目录 1、输入数据源2、输出模式3、sink输出结果4、时间窗口4.1、时间窗口4.2、时间水印(Watermarking) 5、使用例子 Structured Streaming是一个基于Spark SQL引擎的可扩展和容错流处理引擎,Spark SQL引擎将负责增量和连续地运行它&#…

Spring Security 自定义异常失效?从源码分析到解决方案

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

使用阿里巴巴同步工具DataX实现Mysql与ElasticSearch(ES)数据同步

一、Linux环境要求 二、准备工作 2.1 Linux安装jdk 2.2 linux安装python 2.3 下载DataX: 三、DataX压缩包导入,解压缩 四、编写同步Job 五、执行Job 六、定时更新 6.1 创建定时任务 6.2 提交定时任务 6.3 查看定时任务 七、增量更新思路 一、Linux环境要…

微信小程序js数组对象根据某个字段排序

一、排序栗子 注: 属性字段需要进行转换,如String类型或者Number类型 //升序排序 首元素(element1)在前 降序则(element1)元素在后 data data.sort((element1, element2) >element1.属性 - element2.属性 ); 二、代码 Page({/*** 页面的初始数据*/data: {user:…

SpringSecurity安全授权

目录 前言 正文 1.基本流程 2.基本用法 3.配置项 4.HttpSecurity 方式和内存认证方式 5.认证流程 6.基于数据库查询的登录验证 7.多种角色权限认证 8.自定义权限认证 总结 前言 安全对于任何系统来说都是非常重要的,权限的分配和管理一直都是开发者需…

C语言——输出菱形

法一&#xff1a; #include<stdio.h> #define N 7 //假设输出7层菱形 int main(){int i;//i控制第几行 int j;//j控制每一行空格的循环个数 int k;//k控制每一行*的循环次数 for(i1;i<4;i){//将图形分为两部分,前四行(第一部分) for(j1;j<4-i;j){//输出第i行的…

echarts双折线图

引用 //反应时长 durationCharts categoryCommonChart(studyBehavior.durationCharts, durationCharts) function categoryCommonChart(odata, dom){var myChart echarts.init(document.getElementById(dom));let oarr []oarr odata.series.map(function(item){let color…

随笔-这都是命吗

我与鹏哥、小付有个小群&#xff0c;前几天&#xff0c;鹏哥在群里发了一个图&#xff0c;是他那个城市准备扶持的高新产业&#xff0c;有元宇宙、量子信息、生物制药、人工智能什么的。 先前的时候鹏哥给我说过&#xff0c;当地准备了六百多亩地&#xff0c;准备发展高新产业…

Linux-进程之间的通信

目录 ​编辑 一.什么是进程之间的通信 二.进程之间的通信所访问的数据 三.进程之间的通信是如何做到的 四.基于内存文件级别的通信方式——管道 1.什么是管道 2.管道的建立过程——匿名管道 a.什么是匿名管道 b.匿名管道特点&#xff1a; c.使用匿名管道的…

风格迁移网络修改流程(自用版)

一. AdaAttN-Revisit Attention Mechanism in Arbitrary Neural Style Transfer&#xff08;ICCV2021&#xff09; 下载vgg_normalised.pth打开visdom python -m visdom.server在 train_adaattn.sh 中配置 content_path、style_path 和 image_encoder_path&#xff0c;分别表…

固态硬盘速度测试:硬盘实际性能是否符合标准?

在进行固态硬盘速度测试之前我们先来了解一下固态硬盘的读写速度是什么。固态硬盘的读写速度主要分为顺序读写和随机读写&#xff08;4K&#xff09;。 ​顺序读写&#xff1a;指的是硬盘在读写连贯、集中大文件时候的速度。比如在读取、拷贝单个视频文件时&#xff0c;就是硬盘…

【项目问题解决】IDEA2020.3 使用 lombok 插件 java: 找不到符号 符号: 方法 builder()

目录 lombok找不到符号问题修改 1.问题描述2.问题原因3.解决思路4.解决方案5.总结6.参考 文章所属专区 项目问题解决 1.问题描述 IDEA2020.3 使用 lombok 插件 java: 找不到符号 符号: 方法 builder()&#xff0c;无法使用lombok下应有的注解&#xff0c;一度怀疑是版本问题 …

使用Inno Setup 打包程序文件 怎么把其中一个文件安装时复制到指定系统文件夹

环境: Inno Setup 6.6 Win10 专业版 问题描述: 使用Inno Setup 打包程序文件 怎么把其中一个文件安装时复制到指定系统文件夹 将文件api-ms-win-shcore-scaling-l1-1-1.dll复制到system32里面 解决方案: 1.由于安全和权限的限制,直接在Inno Setup脚本中复制文件到C:\…

C++新经典模板与泛型编程:用成员函数重载实现std::is_class

用成员函数重载实现is_class std::is_class功能&#xff0c;是一个C11标准中用于判断某个类型是否为一个类类型&#xff08;但不是联合类型&#xff09;的类模板。当时在讲解的时候并没有涉及std::is_class的实现代码&#xff0c;在这里实现一下。简单地书写一个IsClass类模板…

python pydoc生成API文档

pydoc是python内置的一个文档生成模块。 pydoc 模块会根据 Python 模块来自动生成文档。 生成的文档可在控制台中显示为文本页面&#xff0c;提供给 Web 浏览器访问或者保存为 HTML 文件。 对于模块、类、函数和方法&#xff0c;显示的文档内容取自文档字符串&#xff08;即 _…