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

努力是为了不平庸~
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰
目录
时间趋势可视化-柱形图
第1关:“大胃王”比赛数据柱形图绘制——绘制柱形图的基本步骤
任务描述
相关知识
观察和处理数据
绘制柱形图
编程要求
测试说明
第2关:“大胃王”比赛数据柱形图绘制——柱形图展示优化
任务描述
相关知识
对柱形图进行美化
将柱形图保存为 PDF 文件或 png 文件
编程要求
测试说明
时间趋势可视化-柱形图
第1关:“大胃王”比赛数据柱形图绘制——绘制柱形图的基本步骤
任务描述
本关任务:根据实训提供的“大胃王”比赛数据绘制柱形图,熟悉柱形图绘制的基本步骤。
相关知识
为了完成本关任务,你需要掌握:
- 观察和处理数据;
- 绘制柱形图的基本步骤。
观察和处理数据
先导入
matplotlib和pandas,用pandas中的read_csv()方法读取 csv 格式文件。
import pandas as pd #导入pandas,用于生成满足绘图要求的数据格式from matplotlib import pyplot as plt #导入matplotlib,用于绘制柱形图from matplotlib.backends.backend_pdf import PdfPages #用于将图片保存成pdfhot_dog = pd.read_csv(r"matplotlib_bar/csv/hot-dog-contest-winners.csv") #返回值为二维标记数据结构DataFramehot_dog.head() #返回前五行数据让我们先看看数据文件的前5行内容:
Year Winner Dogs eaten Country New record 1980 Paul Siederman & Joe Baldini 9.1 United States 0 1981 Thomas DeBerry 9.1 United States 0 1982 Steven Abrams 11.0 United States 0 1983 Luis Llamas 19.5 Mexico 0 1984 Birgit Felden 9.5 Germany 0 这个数据展示的是自1980年开始,每年吃热狗大赛的冠军姓名,冠军吃掉热狗的数量,冠军的国籍,以及是否打破纪录(0表示没有破纪录,1表示破纪录)。
绘制柱形图
首先简单介绍一下绘制柱形图的 bar 函数:
matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)[source]参数:
- x:x 坐标,数据类型
int,float- height:柱形高度,数据类型
int,float- width:柱形宽度,默认
0.8,范围0 - 1之间- bottom:条形的起始位置,也是 y 轴的起始坐标
- align:条形的中心位置,
center,edge边缘- color:条形的颜色,
r,b,g,#123465等,默认b- edgecolor:边框的颜色,同上
- linewidth:边框的宽度,默认无,
int类型- tick_label:下标的标签,可以是元组类型的字符组合
- log:y 轴使用科学计算法表示,
bool类型- orientation:是竖直条还是水平条,竖直:
vertical,水平条:horizontal其中,最基本和最常用的是
x,height,width和color四个参数。 接下来让我们开始画一张不同年份冠军吃掉热狗数量的柱形图。
fig, ax = plt.subplots() #subplots返回画布和子图axis.bar(hot_dog["Year"],hot_dog["Dogs eaten"]) #绘制柱形图,第一个参数为x轴变量,第二个参数为y轴变量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 文件。
相关知识
为了完成本关任务,你需要掌握:
- 对柱形图进行美化;
- 将柱形图保存为 PDF 文件或 png 文件。
对柱形图进行美化
关卡1中的柱形图看起来平平无奇,打破记录的年份这一信息也没有体现,如果我们需要突出打破记录的年份呢?如何用不同的颜色进行表示?此外,系统默认的颜色饱和度很高,能选择更赏心悦目的颜色吗?当然可以!
突出破纪录的年份 在关卡1的基础上,这一步我们可以写一个函数,根据年份是否打破纪录,赋予不同的颜色,然后把各个年份应显示的颜色放入一个列表中。
def newRecordColor():"打破记录的年份显示为粉红色,其余年份为灰绿色"list=[]for i in hot_dog["New record"]:if i==1:list.append("#DB7093") #打破记录的年份显示为粉红色else:list.append("#5F9F9F") #其余年份显示为灰绿色return list别忘了将代码
axis.bar(hot_dog["Year"],hot_dog["Dogs eaten"])修改为
ax.bar(hot_dog["Year"],hot_dog["Dogs eaten"],color=newRecordColor()) #添加指定的颜色光秃秃的柱形图并不能让别人快速理解数据的含义,因此,我们应当为柱形图添加必要的文字说明:
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轴数据限值此时生成的图像如下图1所示:
图1 突出打破纪录年份后的柱形图
调整柱子的间距 图1看起来还不错,只是柱子之间太拥挤了,可以修改宽度,将代码:
ax.bar(hot_dog["Year"],hot_dog["Dogs eaten"],color=newRecordColor())修改为
ax.bar(hot_dog["Year"],hot_dog["Dogs eaten"],width=[0.6],color=newRecordColor()) #添加指定的宽度然后修改画布的尺寸,添加代码:
plt.rcParams['figure.figsize'] = (8.0, 4.0) #设置figure_size尺寸此时生成的图像如下图2如所示:
图2 美化后的柱形图
将柱形图保存为 PDF 文件或 png 文件
如果后续想要用 Illustrator 对图片进行美化,可以将图片保存为 PDF 格式,添加代码:
pdf =PdfPages('matplotlib_bar/studentfile/studentanswer/level_2/hotdog.pdf') #设置pdf保存的路径和文件名pdf.savefig(fig) #将画布内容保存为PDFplt.close() #关闭画布窗口pdf.close() #关闭PDF文件如果想将图片保存为 png 格式文件,则添加代码:
plt.savefig('matplotlib_bar/studentfile/studentanswer/level_2/hotdog.png') #保存png文件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…...
监控上网的软件有哪些?含泪推荐的电脑监控软件
监控上网的软件有很多,企业选择的时候应该遵循什么样的原则呢?鄙人愚见,认为以下四项原则是选择监控软件时首要考虑的。 1、功能需求: 监控软件不应该只是起到控制上网的作用,因为一些泄密行为可能是通过USB接口、打印…...
linux系统防火墙开放端口命令
目录 linux相关命令参考文章1.开放端口1.1 开发单个端口1.2 一次性开放多个端口 2.保存设置3.查看所有开放的端口4.查看防火墙状态 linux相关命令参考文章 管理、设置防火墙规则(firewalld): https://download.csdn.net/blog/column/8489557/137911049 i…...
WebGL渲染引擎优化方向——渲染帧率的优化
作者:caven chen 对此内容感兴趣还可以看前文: WebGL渲染引擎优化方向——加载性能优化 前言 WebGL 是一种强大的图形渲染技术,可以在浏览器中快速渲染复杂的 3D 场景。但是,由于 WebGL 的高性能和高质量要求,如果…...
【文献阅读】ESG评级分化和企业绿色创新
ESG评级分化和企业绿色创新 摘要 (1)本研究通过实证探讨了ESG评级差异是否以及如何影响企业绿色创新。以中国上市公司为样本,我们发现ESG评级差异对企业绿色创新有积极的影响 。经过几次稳健性检查后,该结果仍然成立。 ÿ…...
2024-5-6-从0到1手写配置中心Config之实现配置中心客户端
配置加载原理 在Spring中PropertySource类实现了所有属性的实例化。 启动赋值: 定义自定义属性配置源,从config-server获取全局属性;Spring启动时,插入自定义属性配置源;绑定属性会优先使用,给自定义属性…...
【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十一)
课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 18 节) P18《17.ArkUI-状态管理Observed 和 ObjectLink》 第一件事:嵌套对象的类型上加上 Observed 装饰器…...
Amesim示例篇-案例1:空间中的铝块散热
前言 本文将通过一个案例继续对Thermal库的元件进一步讲解。 案例1:一个300mm*300mm*1000mm(长*宽*高)的铝板初始温度为45℃,竖直在环境为25℃的空间内静置60min。对流换热系数设置为5W/m2K。本文将通过两种建模方法对铝块的温度…...
深度神经网络——什么是自动编码器?
自动编码器 自动编码器(Autoencoders)是无监督学习领域中一种重要的神经网络架构,它们主要用于数据压缩和特征学习。 自动编码器的定义: 自动编码器是一种无监督机器学习算法,它通过反向传播进行训练,目标…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...



