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

数据可视化技术头歌测试合集

在这里插入图片描述

努力是为了不平庸~

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰

目录

时间趋势可视化-柱形图

第1关:“大胃王”比赛数据柱形图绘制——绘制柱形图的基本步骤

任务描述

相关知识

观察和处理数据

绘制柱形图

编程要求

测试说明

 第2关:“大胃王”比赛数据柱形图绘制——柱形图展示优化

任务描述

相关知识

对柱形图进行美化

将柱形图保存为 PDF 文件或 png 文件

编程要求

测试说明

时间趋势可视化-柱形图

第1关:“大胃王”比赛数据柱形图绘制——绘制柱形图的基本步骤

任务描述

本关任务:根据实训提供的“大胃王”比赛数据绘制柱形图,熟悉柱形图绘制的基本步骤。

相关知识

为了完成本关任务,你需要掌握:

  1. 观察和处理数据;
  2. 绘制柱形图的基本步骤。
观察和处理数据

先导入matplotlibpandas,用pandas中的read_csv()方法读取 csv 格式文件。

  1. import pandas as pd #导入pandas,用于生成满足绘图要求的数据格式
  2. from matplotlib import pyplot as plt #导入matplotlib,用于绘制柱形图
  3. from matplotlib.backends.backend_pdf import PdfPages #用于将图片保存成pdf
  4. hot_dog = pd.read_csv(r"matplotlib_bar/csv/hot-dog-contest-winners.csv") #返回值为二维标记数据结构DataFrame
  5. hot_dog.head() #返回前五行数据

让我们先看看数据文件的前5行内容:

YearWinnerDogs eatenCountryNew record
1980Paul Siederman & Joe Baldini9.1United States0
1981Thomas DeBerry9.1United States0
1982Steven Abrams11.0United States0
1983Luis Llamas19.5Mexico0
1984Birgit Felden9.5Germany0

这个数据展示的是自1980年开始,每年吃热狗大赛的冠军姓名,冠军吃掉热狗的数量,冠军的国籍,以及是否打破纪录(0表示没有破纪录,1表示破纪录)。

绘制柱形图

首先简单介绍一下绘制柱形图的 bar 函数:

  1. matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)[source]

参数:

  • x:x 坐标,数据类型 intfloat
  • height:柱形高度,数据类型 intfloat
  • width:柱形宽度,默认 0.8,范围 0 - 1 之间
  • bottom:条形的起始位置,也是 y 轴的起始坐标
  • align:条形的中心位置,centeredge边缘
  • color:条形的颜色,rbg#123465等,默认 b
  • edgecolor:边框的颜色,同上
  • linewidth:边框的宽度,默认无,int 类型
  • tick_label:下标的标签,可以是元组类型的字符组合
  • log:y 轴使用科学计算法表示,bool 类型
  • orientation:是竖直条还是水平条,竖直:vertical,水平条:horizontal

其中,最基本和最常用的是x, height, widthcolor四个参数。 接下来让我们开始画一张不同年份冠军吃掉热狗数量的柱形图。

  1. fig, ax = plt.subplots() #subplots返回画布和子图
  2. axis.bar(hot_dog["Year"],hot_dog["Dogs eaten"]) #绘制柱形图,第一个参数为x轴变量,第二个参数为y轴变量
  3. plt.show() #显示图像

此时生成的图像如下图1所示:

                                                        图1 默认生成的柱形图

编程要求

根据提示,在右侧编辑器 Begin-End 区间补充代码,绘制一张不同年份冠军吃掉热狗数量的柱形图。

测试说明

平台会对你编写的代码进行测试,如果你的图形与正确答案图形一致,则通关。

# -*- coding: utf-8 -*-
import pandas as pd
from matplotlib import pyplot as plthot_dog = pd.read_csv(r"matplotlib_bar/csv/hot-dog-contest-winners.csv")def plot(): # ********* Begin *********#fig, ax = plt.subplots() #subplots返回画布和子图  ax.bar(hot_dog["Year"],hot_dog["Dogs eaten"]) #绘制柱形图,第一个参数为x轴变量,第二个参数为y轴变量  plt.show()  #显示图像 # ********* End *********#plt.savefig('matplotlib_bar/studentfile/studentanswer/level_1/US.png')plt.close()

 第2关:“大胃王”比赛数据柱形图绘制——柱形图展示优化

任务描述

本关任务:根据实训提供的“大胃王”比赛数据绘制柱形图,并存为 PDF 或 png 文件。

相关知识

为了完成本关任务,你需要掌握:

  1. 对柱形图进行美化;
  2. 将柱形图保存为 PDF 文件或 png 文件。
对柱形图进行美化

关卡1中的柱形图看起来平平无奇,打破记录的年份这一信息也没有体现,如果我们需要突出打破记录的年份呢?如何用不同的颜色进行表示?此外,系统默认的颜色饱和度很高,能选择更赏心悦目的颜色吗?当然可以!

突出破纪录的年份 在关卡1的基础上,这一步我们可以写一个函数,根据年份是否打破纪录,赋予不同的颜色,然后把各个年份应显示的颜色放入一个列表中。

  1. def newRecordColor():
  2. "打破记录的年份显示为粉红色,其余年份为灰绿色"
  3. list=[]
  4. for i in hot_dog["New record"]:
  5. if i==1:
  6. list.append("#DB7093") #打破记录的年份显示为粉红色
  7. else:
  8. list.append("#5F9F9F") #其余年份显示为灰绿色
  9. return list

别忘了将代码

  1. axis.bar(hot_dog["Year"],hot_dog["Dogs eaten"])

修改为

  1. ax.bar(hot_dog["Year"],hot_dog["Dogs eaten"],color=newRecordColor()) #添加指定的颜色

光秃秃的柱形图并不能让别人快速理解数据的含义,因此,我们应当为柱形图添加必要的文字说明:

  1. ax.set_xlabel("Year") #设置x轴标签
  2. ax.set_ylabel("Dogs Eaten") #设置y轴标签
  3. ax.set_title("Hotdog game scores 1980-2010") #设置标题
  4. ax.set_xlim(1979,2011) #设置x轴数据限值

此时生成的图像如下图1所示:

图1 突出打破纪录年份后的柱形图

调整柱子的间距 图1看起来还不错,只是柱子之间太拥挤了,可以修改宽度,将代码:

  1. ax.bar(hot_dog["Year"],hot_dog["Dogs eaten"],color=newRecordColor())

修改为

  1. ax.bar(hot_dog["Year"],hot_dog["Dogs eaten"],width=[0.6],color=newRecordColor()) #添加指定的宽度

然后修改画布的尺寸,添加代码:

  1. plt.rcParams['figure.figsize'] = (8.0, 4.0) #设置figure_size尺寸

此时生成的图像如下图2如所示:

                                                              图2 美化后的柱形图

将柱形图保存为 PDF 文件或 png 文件

如果后续想要用 Illustrator 对图片进行美化,可以将图片保存为 PDF 格式,添加代码:

  1. pdf =PdfPages('matplotlib_bar/studentfile/studentanswer/level_2/hotdog.pdf') #设置pdf保存的路径和文件名
  2. pdf.savefig(fig) #将画布内容保存为PDF
  3. plt.close() #关闭画布窗口
  4. pdf.close() #关闭PDF文件

如果想将图片保存为 png 格式文件,则添加代码:

  1. plt.savefig('matplotlib_bar/studentfile/studentanswer/level_2/hotdog.png') #保存png文件
  2. plt.close() #关闭画布窗口
编程要求

根据提示,在右侧编辑器 Begin-End 区间补充代码,绘制柱形图,并突出美国人获胜的年份。其中美国人获胜的年份显示为粉红色(#DB7093),其余年份显示为灰绿色(#5F9F9F),画布大小等设置与上文保持一致。

测试说明

平台会对你编写的代码进行测试,如果你的图形与正确答案图形一致,则通关。 图片预期输出示例:


开始你的任务吧,祝你成功!

# -*- coding: utf-8 -*-
import pandas as pd
from matplotlib import pyplot as plthot_dog = pd.read_csv(r"matplotlib_bar/csv/hot-dog-contest-winners.csv")def plot(): # ********* Begin *********#fig, ax = plt.subplots() #subplots返回画布和子图  ax.bar(hot_dog["Year"],hot_dog["Dogs eaten"],width=[0.6],color=unitedStatesColor()) #添加指定的宽度ax.set_xlabel("Year") #设置x轴标签  ax.set_ylabel("Dogs Eaten") #设置y轴标签  ax.set_title("Hotdog game scores 1980-2010") #设置标题  ax.set_xlim(1979,2011) #设置x轴数据限值  plt.rcParams['figure.figsize'] = (8.0, 4.0) #设置figure_size尺寸  # ********* End *********#plt.savefig('matplotlib_bar/studentfile/studentanswer/level_2/US.png')plt.close()def unitedStatesColor():# ********* Begin *********#list=[]  for i in hot_dog["Country"]:  if i=='United States':  list.append("#DB7093") #打破记录的年份显示为粉红色  else:  list.append("#5F9F9F") #其余年份显示为灰绿色  return list  # ********* End *********#

 

相关文章:

数据可视化技术头歌测试合集

努力是为了不平庸~ 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰 目录 时间趋势可视化-柱形图 第1关:“大胃王”比赛数据柱形图绘制——绘制柱形图的基本步骤 任务描述 相关知识 观察和处理数据 绘…...

【linux-IMX6ULL-字符设备驱动简单框架实验】

目录 1. 字符设备驱动简介1.1 重要函数1.2 简单框架代码流程1.3 linux中关于驱动的重要命令 2. 字符设备驱动简单框架编写2.1 添加LICENSE信息2.2 驱动模块的入口与出口2.3 入口和出口函数的编写2.4 设备操作结构体定义2.4.1 结构体函数内容填充 3. 应用程序简介:4.…...

3D模型旋转显示不全怎么办---模大狮模型网

在3D建模和渲染过程中,我们有时会遇到旋转模型时显示不全的问题。这种情况可能由多种原因造成,包括模型本身的问题、软件设置不当、硬件配置不足等。本文将为您详细介绍几种可能的解决方法,帮助您解决3D模型旋转显示不全的问题。 一、检查模型…...

DLRover:蚂蚁集团开源的AI训练革命

在当前的深度学习领域,大规模训练作业面临着一系列挑战。首先,硬件故障或软件错误导致的停机时间会严重影响训练效率和进度。其次,传统的检查点机制在大规模训练中效率低下,耗时长且容易降低训练的有效时间。资源管理的复杂性也给…...

ubuntu_概念

su(switch user) wget(Web Get) cd(change directory) dpkg(Debian Packager)为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。 chmod(Change Mode)用于改变文件或目录的权限 ps(Process Status)进程状态 grep(Global Regular Expression Print)…...

Oracle递归查询笔记

目录 一、创建表结构和插入数据 二、查询所有子节点 三、查询所有父节点 四、查询指定节点的根节点 五、查询指定节点的递归路径 六、递归子类 七、递归父类 一、创建表结构和插入数据 CREATE TABLE "REGION" ( "ID" VARCHAR2(36) DEFAULT SYS_GUI…...

FaceFusion源码框架解读

FaceFusion源码框架解读 我的视频讲解:FaceFusion入门教学 FaceFusion官网 FaceFusion是一款开源的AI换脸工具,一款非常好用的换脸工具,操作简单,上手容易。 Facefusion:GitHub - facefusion/facefusion: Next gene…...

React项目知识积累(三)

1.primary-color 公共样式 less文件中的primary-color,会在config.js中的theme中统一写,方便统一更改。 config.js: theme{"primary-color":"#f0f0f0","font-size":"16px", }less: .classname{color:primary-…...

前端实现打印功能

1、引入打印相关的库 在您的Vue项目中,需要先安装一个用于打印的库,如print-js。您可以通过以下命令安装: npm install print-js --save2、在组件中引入并使用,在需要实现打印功能的组件中,先import print-js模块: import print…...

创建型模式之工厂模式

文章目录 概述1.简单工厂概念结构图 2.工厂方法概念结构图 3.抽象工厂概念结构图 小结 概述 工厂模式用来创建不同但是相关类型的对象(继承同一父类或者接口的一组子类),由给定的参数来决定创建哪种类型的对象。 其实,工厂还可以…...

「动态规划」按摩师

力扣原题链接,点击跳转。 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列nums,总共有n个预约,替按摩师找到…...

小程序-滚动触底-页面列表数据无限加载

// index/index.vue <template> <!-- 自定义导航栏 --> <CustomNavbar /> <scroll-view scrolltolower"onScrolltolower" scroll-y class"scroll-view"> <!-- 猜你喜欢 --> <Guess ref"guessRef" /> </s…...

监控上网的软件有哪些?含泪推荐的电脑监控软件

监控上网的软件有很多&#xff0c;企业选择的时候应该遵循什么样的原则呢&#xff1f;鄙人愚见&#xff0c;认为以下四项原则是选择监控软件时首要考虑的。 1、功能需求&#xff1a; 监控软件不应该只是起到控制上网的作用&#xff0c;因为一些泄密行为可能是通过USB接口、打印…...

linux系统防火墙开放端口命令

目录 linux相关命令参考文章1.开放端口1.1 开发单个端口1.2 一次性开放多个端口 2.保存设置3.查看所有开放的端口4.查看防火墙状态 linux相关命令参考文章 管理、设置防火墙规则&#xff08;firewalld&#xff09;: https://download.csdn.net/blog/column/8489557/137911049 i…...

WebGL渲染引擎优化方向——渲染帧率的优化

作者&#xff1a;caven chen 对此内容感兴趣还可以看前文&#xff1a; WebGL渲染引擎优化方向——加载性能优化 前言 WebGL 是一种强大的图形渲染技术&#xff0c;可以在浏览器中快速渲染复杂的 3D 场景。但是&#xff0c;由于 WebGL 的高性能和高质量要求&#xff0c;如果…...

【文献阅读】ESG评级分化和企业绿色创新

ESG评级分化和企业绿色创新 摘要 &#xff08;1&#xff09;本研究通过实证探讨了ESG评级差异是否以及如何影响企业绿色创新。以中国上市公司为样本&#xff0c;我们发现ESG评级差异对企业绿色创新有积极的影响 。经过几次稳健性检查后&#xff0c;该结果仍然成立。 &#xff…...

2024-5-6-从0到1手写配置中心Config之实现配置中心客户端

配置加载原理 在Spring中PropertySource类实现了所有属性的实例化。 启动赋值&#xff1a; 定义自定义属性配置源&#xff0c;从config-server获取全局属性&#xff1b;Spring启动时&#xff0c;插入自定义属性配置源&#xff1b;绑定属性会优先使用&#xff0c;给自定义属性…...

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十一)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 18 节&#xff09; P18《17.ArkUI-状态管理Observed 和 ObjectLink》 第一件事&#xff1a;嵌套对象的类型上加上 Observed 装饰器…...

Amesim示例篇-案例1:空间中的铝块散热

前言 本文将通过一个案例继续对Thermal库的元件进一步讲解。 案例1&#xff1a;一个300mm*300mm*1000mm&#xff08;长*宽*高&#xff09;的铝板初始温度为45℃&#xff0c;竖直在环境为25℃的空间内静置60min。对流换热系数设置为5W/m2K。本文将通过两种建模方法对铝块的温度…...

深度神经网络——什么是自动编码器?

自动编码器 自动编码器&#xff08;Autoencoders&#xff09;是无监督学习领域中一种重要的神经网络架构&#xff0c;它们主要用于数据压缩和特征学习。 自动编码器的定义&#xff1a; 自动编码器是一种无监督机器学习算法&#xff0c;它通过反向传播进行训练&#xff0c;目标…...

初见flyway

flyway (一种数据库版本控制工具 document) 两种文件 V 和 R V: V 开头是不可重复执行的文件&#xff0c;每次修改完都该更改名称 R: R 开头是可重复执行的文件&#xff0c;需要保证内部sql都是可以重复执行的 名称格式&#xff1a; V__table_name.sql, R__table_name.sql …...

9.6 Go语言入门(数组、切片和指针)

Go语言入门&#xff08;数组、切片和指针&#xff09; 目录五、数组、切片和指针1. 数组1.1 声明和初始化数组1.2 访问和修改数组元素1.3 多维数组 2. 切片2.1 声明和初始化切片2.2 访问和修改切片元素2.3 切片操作2.4 切片的追加和拷贝 3. 指针3.1 声明和初始化指针3.2 指针与…...

Web面试题(一)

一&#xff1a;以前公司的测试流程&#xff1f; &#xff08;&#xff11;&#xff09;问题分析 面试官主要为了考察候选者对软件测试流程的理解和掌握程度。 &#xff08;&#xff12;&#xff09;核心答案讲解 &#xff11;&#xff09;需求分析与评审 &#xff12;&#xff…...

【Crypto】一眼就解密

文章目录 前言一眼就解密解题感悟 前言 Basic写累了&#xff0c;写写别的 一眼就解密 一眼md5试一试 小小flag 拿下&#xff01; 解题感悟 30秒搞定...

虚拟ECU:彻底改变汽车软件开发与测试

汽车开发领域有着垂直性较强的一系列需求&#xff0c;其中最为瞩目的需求之一就是对安全高效的软件测试方法的需求。传统的汽车开发偏向使用硬件原型与真实ECU进行软件测试&#xff0c;但由于硬件设备往往在开发周期的中后阶段才生产完成&#xff0c;给汽车开发带来了成本与时间…...

【SQL Server001】SQLServer2016常用函数实战总结(已更新)

1.熟悉、梳理、总结下SQL Server相关知识体系。 2.日常研发过程中使用较少&#xff0c;随着时间的推移&#xff0c;很快就忘得一干二净&#xff0c;所以梳理总结下&#xff0c;以备日常使用参考 3.欢迎批评指正&#xff0c;跪谢一键三连&#xff01; 总结源文件资源下载地址&am…...

51单片机简单控制180度舵机

代码&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1K9dg2NwRhy49db_O_hqv-g?pwd1234 提取码&#xff1a;1234 一、路线 我在了解这个舵机之前最像想看到的是一个完全的路径。 比如我想学习b站上那个智能门锁&#xff0c;那就得每个模块的基本代码都会才能结合各…...

PCL 常用小知识

文章目录 一、时间计算二、实现类似`pcl::PointCloud::Ptr`和`pcl::PointCloud`的两个类相互转换三、查找点云的x,y,z的极值四、知道需要保存点的索引,从原点云中拷贝点到新点云五、从点云里删除和添加点六、对点云进行全局或局部变换七、链接两个点云字段(两点云大小必须相…...

rbd块设备数据IO流程(client端)

一、rbd内核驱动写入流程 1&#xff09;初始化 首先是rbd驱动的初始化工作&#xff1a;包括验证libceph的兼容性&#xff0c;分配内存&#xff0c;在sysfs中创建块设备控制文件、创建工作队列rbd_wq并调用INIT_WORK初始化它 module_init(rbd_init); static int __init rbd_i…...

数据仓库、数据中台、大数据平台之间的关系

数据行业经常会出现数据仓库、数据中台、大数据平台等概念&#xff0c;容易产生疑问&#xff0c;它们中间是相等&#xff0c;还是包含的关系&#xff1f; 数据中台和数据仓库概念的关系 数据中台概念是包含数据仓库的&#xff0c;数据仓库是数据中台中的一部分&#xff0c;包含…...