可视化-实验四- seaborn工具包绘图基础及关系

news2024/11/19 6:16:00

一、任务一

1.1 开发环境

多种选择方案(大家根据自己的编程习惯,选择适合自己的工具),老师授课如下:Anaconda3+Jupter

1.2 特殊包

导入工具包设置中文显示:

import matplotlib.pyplot as plt

import pandas as pd

import seaborn as sns

sns.set_style('whitegrid', {'font.sans-serif':['simhei', 'Arial']})

6.1.3 验证性实验

1、利用set_style函数设置样式为"white",验证以下代码,并将结果附截图。

sns.set_style(style="white",rc={'font.sans-serif':['simhei', 'Arial']})

#设置风格,代替中文设置

hr = pd.read_csv(r'第4章/data/hr.csv', encoding='gbk')#hr.csv文件已经上传

hr.head(10)

#  加载数据

data = hr.head(100)#15000数据量取100个

# 使用Matplotlib库绘图

color_map = dict(zip(data['薪资'].unique(), ['b', 'y', 'r']))#薪资低中高映射于3种颜色

#按低中高分组绘制散点图

plt.figure(figsize=(15, 8))

for species, group in data.groupby('薪资'):

    plt.scatter(group['每月平均工作小时数(小时)'],group['满意度'],color=color_map[species], alpha=0.4,edgecolors=None, label=species)

plt.legend(frameon=True, title='薪资')#label=species中低高图例标签

plt.xlabel('平均每个月工作时长(小时)')

plt.ylabel('满意度水平')

plt.title('满意度水平与平均每个月工作小时')

plt.show()

2、验证以下代码,体会'muted'调色板效果,并将结果附截图

plt.figure(figsize=(15, 8))

sns.scatterplot(x='每月平均工作小时数(小时)',y='满意度', data=data, hue='薪资',size='工龄(年)',palette='muted',style='薪资')

#设置hue和size,颜色palette='muted',点按style='薪资'显示

plt.xlabel('平均每个月工作时长(小时)')

plt.ylabel('满意度水平')

plt.title('满意度水平与平均每个月工作小时')

plt.show()

3、验证以下代码,体会color_palette函数设置调色板,体会bright调色板效果,并将结果附截图。

plt.figure(figsize=(15, 8))

pal_hex=sns.color_palette("bright",3).as_hex()#获得颜色16进制码

#markers = {'低' : 'o', '中' : 'D', '高' : 's'}

sns.scatterplot(x='每月平均工作小时数(小时)',y='满意度', data=data, hue='薪资',size='薪资',sizes=(200,50),palette=pal_hex)

plt.xlabel('平均每个月工作时长(小时)')

plt.ylabel('满意度水平')

plt.title('满意度水平与平均每个月工作小时')

plt.show()

 

4、验证以下代码,体会color_palette函数设置调色板,体会dark调色板效果,并将结果附截图。

plt.figure(figsize=(15, 8))

pal_hex=sns.color_palette("dark",3).as_hex()#获得颜色16进制码

#markers = {'低' : 'o', '中' : 'D', '高' : 's'}

sns.scatterplot(x='每月平均工作小时数(小时)',y='满意度', data=data, hue='薪资',size='薪资',sizes=(200,50),palette=pal_hex)

plt.xlabel('平均每个月工作时长(小时)')

plt.ylabel('满意度水平')

plt.title('满意度水平与平均每个月工作小时')

plt.show()

 

5、验证以下代码,体会元素缩放效果,并将结果附截图。

sns.set()

x = np.arange(1, 10, 2)

y1 = x + 1

y2 = x + 3

y3 = x + 5

def showLine(flip=1):

    sns.lineplot(x=x, y=y1)

    sns.lineplot(x=x, y=y2)

    sns.lineplot(x=x, y=y3)

pic = plt.figure(figsize=(8, 8))

# 恢复默认参数

pic = plt.figure(figsize=(8, 8), dpi=100)

with sns.plotting_context('paper'):  # 选择paper类型

    pic.add_subplot(2, 2, 1)

    showLine()

    plt.title('paper')

with sns.plotting_context('notebook'):  # 选择notebook类型

    pic.add_subplot(2, 2, 2)

    showLine()

    plt.title('notebook')

with sns.plotting_context('talk'):  # 选择talk类型

    pic.add_subplot(2, 2, 3)

    showLine()

    plt.title('talk')

with sns.plotting_context('poster'):  # 选择poster类型

    pic.add_subplot(2, 2, 4)

    showLine()

    plt.title('poster')

plt.show()

6、分别验证以下代码,查看效果,并将结果附截图

sns.dark_palette((20, 60, 50), input="husl")

sns.palplot(sns.dark_palette('yellow'))

sns.palplot(sns.light_palette('blue'))

# 使用husl颜色空间作为种子

pal = sns.dark_palette((200,80, 60), input='husl', reverse=True, as_cmap=True)#(200,80,60)是RGB三基色码

sns.kdeplot(x=x, y=y, cmap=pal)

plt.title('自定义连续调色板')

plt.show()

2 任务二

2.1 matplotlib绘图参数设置

某企业2020年和2019年在全国各地区销售额数据如下:

表3-1 某企业两个年度销售额情况

年度

中南

东北

华东

华北

西南

西北

2019

214.71

445.66

627.11

800.73

956.88

1090.24

2020

223.65

488.28

673.34

870.95

1027.34

1193.34

1、利用matplotlib.pyplot绘制复式条状图,并用legend设置图例,title设置标题“某企业两个年度销售额情况”,xlable和ylable设置坐标名称。

2、利用matplotlib.pyplot在同一幅图片上绘制两条折线图,其他要求同1。

2.2 seaborn工具包绘图

1、按表3-1复现图3-1代码绘制条状图。

2、按表3-1复现图3-2代码绘制散点图。

 

3 任务三(实训)

3.1 实训1 分析各空气质量指数之间的关系及其分布情况

1、训练要点

(1)了解 scatterplot 函数的使用格式。

(2)掌握散点图的绘制方法。

(3)了解 stripplot 函数的使用格式。

(4)掌握分类散点图的绘制方法。

(5)了解 distplot 函数的使用格式。

(6)掌握单变量分布图的绘制方法。

(7)了解 regplot 函数的使用格式。

(8)掌握线性回归拟合图的绘制方法。

2、需求说明

空气质量指数(Air Quality Index,AQI)简而言之就是能够对空气质量进行定量描述的数据。空气质量(Air Quality)的好坏反映了空气污染程度,它是依据空气中污染物浓度的高低来判断的。空气污染是一个复杂的现象,在特定的时间看和地点,空气污染物浓度受到许多因素影响。

芜湖市 2020 年空气质量指数的部分数据如表3-2 所示。表3-2数据文件aqi.csv以上传。

表3-2 芜湖市 2020 年空气质量指数的部分数据

日期

AQI

质量等级

PM2.5含量(ppm)

PM10含量(ppm)

SO2含量(ppm)

CO含量(ppm)

NO2含量(ppm)

O3_8h含量(ppm)

2020/1/1

79

58

64

8

0.7

57

23

2020/1/2

112

轻度污染

84

73

10

1

71

7

2020/1/3

68

49

51

7

0.8

49

3

2020/1/4

90

67

57

7

1.2

53

18

2020/1/5

110

轻度污染

83

65

7

1

51

46

2020/1/6

65

47

58

6

1

43

6

2020/1/7

50

18

19

5

1.5

40

43

2020/1/8

69

50

49

7

0.9

39

45

2020/1/9

69

50

40

6

0.9

47

33

2020/1/10

57

34

28

5

0.8

45

21

将基于表3-2所示的数据绘制关系图、分类图、回归图,分析 PM2.5 与空气质量指数的关系,以及空气质量指数的分类和分布情况。

3、实现步骤

(1)使用 pandas 库读取芜湖市 2020年空气质量指数统计数据。

(2)解决中文字体的显示问题,设置字体为黑体,并解决保存图像时负号“_”显示为方块的问题。

(3)绘制 AQI 和 PM2.5 的关系散点图。

  1. 绘制空气质量等级分类散点图。

  1. 绘制空气质量等级单变量分布图。

  1. 绘制 PM2.5 与 AQI 的线性回归拟合图。

3.2 实训 2 分析各空气质量指数与 AQI 的相关性

1、训练要点

(1)了解 heatmap 函数的使用格式。

(2)掌握热力图的绘制方法。

2、需求说明

由表3-2所示的数据可知,空气质量指数包括了 PM2.5、PM10、SO2、CO、NO2、O3_8h。不同的指数对 AQI的影响不同。基于实训1的数据绘制热力图,分析各空气质量指数与 AQI 的相关性。

3、实现步骤

(1)使用 pandas 库读取芜湖市 2020 年空气质量指数统计数据。

  1. 解决中文字体的显示问题,设置字体为黑体,并解决保存图像时负号“-”显示为方块的问题。
  2. 计算相关系数。

(4)绘制特征相关性热力图。

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

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

相关文章

HTTP常见面试题(二)

3.1 HTTP 常见面试题 HTTP特性 HTTP 常见到版本有 HTTP/1.1,HTTP/2.0,HTTP/3.0,不同版本的 HTTP 特性是不一样的。 HTTP/1.1 的优点有哪些? HTTP 最突出的优点是「简单、灵活和易于扩展、应用广泛和跨平台」。 1. 简单 HTTP…

Metasploit Framework(MSF)从入门到实战(二)

Metasploit Framework(MSF)从入门到实战(一)_安装msf更新-CSDN博客 MSF模块介绍 MSF有7个模块,分别对下面目录下的7个子文件夹: auxiliary(辅助模块 ) show auxiliary //查看所有…

vue视图不刷新强制更新数据this.$forceUpdate()

在vue中,更新视图数据,不刷新页面,需要强制更新数据才可以 前言 在对数据就行添加和删除时,发现页面视图不更新,排除发现需要强制更新才可以 点击添加或删除,新增数据和删除就行,但在不使用fo…

二层交换机与路由器连通上网实验

华为二层交换机与路由器连通上网实验 二层交换机是一种网络设备,用于在局域网(LAN)中转发数据帧。它工作在OSI模型的第二层,即数据链路层。二层交换机通过学习和维护MAC地址表,实现了数据的快速转发和广播域的隔离。 实…

Spring-依赖注入的处理过程

前置知识 1 入口 DefaultListableBeanFactory#resolveDependency 2 每个依赖都有对应的DependencyDescriptor 3 自定绑定候选对象处理器AutowireCapableBeanFactory 注入处理 我们可以看到AutowireCapableBeanFactory中有两个方法: 第一个是单个注入:…

CCF-Csp算法能力认证, 202312-1仓库规划含解析

前言 推荐书目,在这里推荐那一本《算法笔记》(胡明),需要PDF的话,链接如下 「链接:https://pan.xunlei.com/s/VNvz4BUFYqnx8kJ4BI4v1ywPA1?pwd6vdq# 提取码:6vdq”复制这段内容后打开手机迅雷…

高职学院建设人工智能专业群可行性分析

一、人工智能技术人员的需求分析 随着科技的迅猛发展和数字化转型的深入,人工智能(AI)已成为推动产业升级和社会变革的重要力量。从当前行业趋势和技术发展来看,对于人工智能技术人员的需求预计将呈现爆炸性增长的态势。 首先&am…

智慧仓储数字孪生三维可视化平台,提升企业物流效率和转型升级

智慧仓储数字孪生三维可视化平台,提升企业物流效率和转型升级。智慧仓储数字孪生三维可视化平台,正逐渐成为现代企业物流领域的重要工具。它通过集成先进的数字技术,实现仓储管理的全面智能化,为企业的物流效率和转型升级提供了有…

软考143-下午题-【试题二】:E-R图、关系模式

一、分值与目标 15分,目标10 二、题目形式 示例: 三、E-R图的基本图形元素 示例: 3-1、实体 1、弱实体 在现实世界中有一种特殊的联系,这种联系代表实体间的所有 (Ownership) 关系,例如:职工与家属的联系…

WPF/C#:ProgressBar的基本使用

前言 在日常开发过程中,如果遇到需要一段时间才能完成的任务,通常需要给用户一个进度条提示。今天给大家介绍的是WPF/C#中ProgressBar的基本使用。 ProgressBar的介绍 在WPF(Windows Presentation Foundation)中,Pr…

AI图书推荐:ChatGPT在真实商业世界中的应用

《ChatGPT在真实商业世界中的应用》 (Unleashing The Power of ChatGPT: A Real World Business Applications)首先概述了ChatGPT及其在对话式人工智能领域的影响。接着,你将深入了解ChatGPT的技术方面,理解机器学习算法和自然语言处理如何在后台工作。然…

【GPT调用】本地使用python调用GPT接口

python调用GPT接口 环境变量设置主调用方法执行结果 环境变量设置 .env文件中配置GPT环境变量 api_key"你的GPT-API-KEY" urlhttps://ai-proxy.ksord.com/wps.openai.azure.com/openai/deployments/gpt-4-32k/chat/completions?api-version2023-09-01-preview主调…

红帽为 Red Hat OpenShift AI 扩大与 Elasticsearch 向量数据库的合作

作者:来自 Elastic Aditya Tripathi 红帽和 Elastic 今天宣布开展合作,以便在 Red Hat OpenShift AI 上集成 Elasticsearch 向量数据库。 Red Hat OpenShift 用户现在可以通过红帽生态系统目录实施 Elasticsearch 以进行向量搜索和检索增强生成 (RAG) 应…

Blender动画与云渲染:创造高质量作品的未来路径

Blender作为开源的3D图形软件,在多个领域广受欢迎。但随着项目复杂度提升,传统渲染方式受限。云渲染技术的兴起突破了这些限制,为创作者提供了更自由、高效的创作环境。 一、Blender动画项目的挑战 传统上,Blender动画渲染需要依…

C++新手村指南:入门基础

目录 C概念 C发展史 C关键字(C98) 命名空间 命名空间的定义 命名空间的使用 C中的输入&&输出 缺省参数 缺省参数的概念 缺省参数的分类 函数重载 函数重载概念 函数重载实现 引用 引用的概念 引用的特性 常引用 引用的使用场景…

SpringBoot分页查询报错Bug

项目场景: 提示:这里简述项目相关背景: 使用pageHepler分页查询报错信息为 class java.util.ArrayList cannot be cast to class com.github.pagehelper.Page问题描述 提示:这里描述项目中遇到的问题: 实现条件分…

树莓派变小路由器放出热点wifi

环境 树莓派4Bubuntu20 作用 树莓派放出wifi后,笔记本电脑连接树莓派的wifi,并且ip配置在一个网段,就可以互相通信(笔记本放出wifi,树莓派连接效果一样),这样的好处是树莓派只要一上电就会自…

标准I/O库-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板

标准I/O库 1、标准I/O库简介 什么是标准I/O库 标准C库当中用于文件I/O操作相关的一套库函数,使用标准I/O需要包含头文件 标准I/O和文件I/O之间的区别 标准I/O是库函数,而文件I/O是系统调用 标准I/O是对文件I/O的封装 可移植性:标准I/O相…

如何在Ubuntu 24.04或23.04中加密主文件夹

最新版本的 Ubuntu 强制加密整个磁盘,而不仅仅是一个分区,这意味着双系统用户无法完全加密他们的 Ubuntu 机器,因此加密你的Home 文件夹是最佳选择。 对于不熟悉磁盘加密的人来说,这是一种通过加密来保护 Ubuntu 文件的方法。这个…

Java基于Spring Boot框架的校园外卖服务系统设计与实现(附源码,说明文档)

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…