内容正文:
第19课《数据呈现可视化》测试题
第19课《数据呈现可视化》测试题
班级:________ 姓名:________ 学号:________ 成绩:________
考试时间:60分钟 满分:100分
一、选择题(每题3分,共30分)
1. 数据可视化是指将数据转化为( )
A. 文字和表格
B. 图表和图形
C. 音频和视频
D. 代码和程序
答案:B
解析: 数据可视化是一种将数据转化为图表、图形的手段,通过可视化可以将大量数据转化为易于理解的图像。
2. 下列不属于数据可视化作用的是( )
A. 发现数据异常
B. 了解整体概况
C. 发现趋势变化
D. 增加数据数量
答案:D
解析: 数据可视化的作用包括发现数据异常、了解整体概况、发现趋势变化、方便交流共享、支持分析决策等,但不能增加数据数量。
3. 下列可视化方式中,最适合展示数据随时间变化趋势的是( )
A. 饼图
B. 折线图
C. 环形图
D. 标签云
答案:B
解析: 折线图属于趋势可视化,通常用于描绘数据随时间的变化趋势。饼图和环形图用于比例可视化,标签云用于文本高频词展示。
4. 要展示不同部分所占整体的比例关系,最适合使用的可视化方式是( )
A. 折线图
B. 柱形图
C. 饼图
D. 散点图
答案:C
解析: 饼图和环形图属于比例可视化,通常用于显示不同部分所占整体的比例关系。
5. 在Python中,下列哪个库是常用的图表生成模块( )
A. pandas
B. numpy
C. matplotlib
D. requests
答案:C
解析: matplotlib是Python中常用的图表生成模块,可以生成各种类型的图表。pandas用于数据处理,numpy用于数值计算,requests用于HTTP请求。
6. 在matplotlib中,用于绘制折线图的函数是( )
A. plt.plot()
B. plt.scatter()
C. plt.bar()
D. plt.pie()
答案:A
解析: plt.plot()用来绘制折线图,plt.scatter()用来绘制散点图,plt.bar()用来绘制柱形图,plt.pie()用来绘制饼图。
7. 标签云可视化方式的主要特点是( )
A. 展示数据的时间变化
B. 展示数据的比例关系
C. 展示文本中的高频词,词频越高字体越大
D. 展示数据的地理分布
答案:C
解析: 标签云可以直观展示一段文本数据中的高频词,词频越高,字体就越大,人们不用阅读全文也可以大概了解文本的重点内容。
8. 在matplotlib中,plt.figure(figsize=(8,6))中的参数(8,6)表示( )
A. 图表的横坐标和纵坐标范围
B. 画布的宽度和高度(单位:英寸)
C. 数据点的数量
D. 图表的分辨率
答案:B
解析: figsize用来接收一个包含两个元素的元组,第一个元素代表图形的宽度,第二个元素代表图形的高度,单位是英寸。
9. 下列关于数据可视化的说法,错误的是( )
A. 数据可视化可以帮助发现数据中的异常
B. 数据可视化只能用于展示历史数据,不能预测未来
C. 数据可视化可以提升数据交流共享的效果
D. 数据可视化可以帮助决策者更快速准确地理解数据
答案:B
解析: 数据可视化可以展示历史数据的情况,帮助人们理解数据变化情况,并助力预测未来的发展趋势,例如通过航班历史准点记录预测未来是否会晚点。
10. 将散点图与地图结合,可以用来表示( )
A. 数据的时间变化趋势
B. 数据的比例关系
C. 数据在地理位置上的分布情况
D. 数据的统计平均值
答案:C
解析: 将散点图与地图结合,可以用来表示数据在地理位置上的分布情况,例如在共享单车应用中查询附近空闲单车的位置。
二、判断题(每题2分,共10分)
1. 数据可视化只能发现数据异常,不能用于了解数据的整体概况。( )
答案:×
解析: 数据可视化具有多种作用,包括发现数据异常、了解整体概况、发现趋势变化、方便交流共享、支持分析决策等。
2. 折线图和柱形图都属于趋势可视化,适合描绘数据随时间的变化趋势。( )
答案:√
解析: 折线图和柱形图都属于趋势可视化,通常用于描绘数据随时间的变化趋势。
3. 在matplotlib中,画布尺寸的默认单位是像素(pixels)。( )
答案:×
解析: 在matplotlib中,画布尺寸的默认单位是英寸(inches),每英寸对应的像素数量由图形的分辨率决定,分辨率的默认值通常是100像素/英寸(DPI)。
4. 标签云可视化方式可以让人们不用阅读全文,也能大概了解文本的重点内容。( )
答案:√
解析: 标签云可以直观展示一段文本数据中的高频词,词频越高字体越大,人们不用阅读全文也可以大概了解文本的重点内容。
5. 数据可视化只能通过编程实现,不能使用电子表格软件或物联网服务平台。( )
答案:×
解析: 数据可视化可以通过多种方式实现,包括物联网服务平台提供的数据可视化功能、电子表格软件生成图表,以及使用编程绘图库等。
三、填空题(每空2分,共20分)
1. 数据可视化是一种将数据转化为______、______的手段,可以将大量数据转化为易于理解的图像。
答案:图表;图形
2. 常见的数据可视化方式包括______可视化、比例可视化和______可视化。
答案:趋势;分布
3. 在matplotlib中,______函数用来绘制折线图,______函数用来绘制散点图。
答案:plt.plot();plt.scatter()
4. 在matplotlib中,通过______可以设置画布大小,通过______可以设置图表标题。
答案:plt.figure(figsize=());plt.title()
5. 标签云可视化方式中,词频越______,字体就越______,可以直观展示文本中的高频词。
答案:高;大
四、简答题(共24分)
1. 请简述数据可视化的三个主要作用,并各举一个实际应用例子。(8分)
答案要点:
(1) 发现数据异常 (2-3分)
· 作用:通过数据可视化可以更容易识别并定位数据中存在的异常。(1分)
· 例子:对温度数据进行可视化呈现后,可以直观地发现某个时间点的数据有异常,如13:00左右温度突然升高或降低。(1-2分)
(2) 了解整体概况 (2-3分)
· 作用:数据可视化能帮助人们方便、直观地了解系统的整体概况。(1分)
· 例子:智慧社区的数据监测大屏,可以帮助工作人员及时了解社区的各项数据概况。(1-2分)
(3) 发现趋势变化 (2-3分)
· 作用:数据可视化可以展示历史数据的情况,帮助人们理解数据变化情况,并助力预测未来的发展趋势。(1分)
· 例子:航班出行应用显示航班的历史起降时间,人们可以据此判断近期乘坐此航班是否会晚点。(1-2分)
2. 请说明折线图、饼图、散点图分别适合展示什么类型的数据关系,并简述理由。(8分)
答案要点:
(1) 折线图 (2-3分)
· 适用场景:适合展示数据随时间的变化趋势。(1分)
· 理由:折线图属于趋势可视化,通过连续的线条可以清晰地展示数据的变化趋势和波动情况,例如温度随时间的变化。(1-2分)
(2) 饼图 (2-3分)
· 适用场景:适合展示不同部分所占整体的比例关系。(1分)
· 理由:饼图属于比例可视化,通过圆形的不同扇区大小可以直观地展示各部分占总体的百分比,便于比较各部分的相对大小。(1-2分)
(3) 散点图 (2-3分)
· 适用场景:适合展示数据的分布规律,特别是与地图结合时可以展示地理位置分布。(1分)
· 理由:散点图属于分布可视化,通过离散的点可以展示数据在二维空间中的分布情况,例如共享单车在城市中的位置分布。(1-2分)
3. 请简述使用matplotlib绘制图表的基本步骤。(8分)
答案要点:
(1) 准备数据 (2-3分)
· 需要准备好横坐标数据和纵坐标数据。(1分)
· 例如,将时间数据作为横坐标保存到变量X中,对应的温度数据作为纵坐标保存到变量Y中。(1-2分)
(2) 设置画布和标题 (2-3分)
· 利用plt.figure(figsize=())可以指定画布大小。(1分)
· 通过plt.title()来设置图表标题,例如设置长、宽分别为8和6的画布,并设置"Temperature"作为标题。(1-2分)
(3) 绘制图表并显示 (2-3分)
· 根据需要选择合适的绘图函数,如plt.plot()绘制折线图、plt.scatter()绘制散点图、plt.bar()绘制柱形图。(1-2分)
· 调用绘图函数后,通过plt.show()把图表显示出来。(1分)
五、编程与应用题(共16分)
1. 某物联网系统采集了一天中不同时间点的温度数据,时间数据存储在列表time_list中,温度数据存储在列表temp_list中。请使用matplotlib绘制温度变化的折线图,要求:(8分)
(1) 设置画布大小为10×6英寸
(2) 设置图表标题为"Daily Temperature Change"
(3) 绘制折线图并显示
答案示例:
import matplotlib.pyplot as plt
# 假设已有数据
time_list = ["8:00", "10:00", "12:00", "14:00", "16:00", "18:00", "20:00"]
temp_list = [18, 22, 28, 30, 27, 23, 20]
# (1) 设置画布大小为10×6英寸
plt.figure(figsize=(10, 6))
# (2) 设置图表标题
plt.title("Daily Temperature Change")
# 设置坐标轴标签(可选,但建议添加)
plt.xlabel("Time")
plt.ylabel("Temperature (°C)")
# (3) 绘制折线图
plt.plot(time_list, temp_list)
# 显示图表
plt.show()
进阶版本(添加更多样式):
import matplotlib.pyplot as plt
# 数据准备
time_list = ["8:00", "10:00", "12:00", "14:00", "16:00", "18:00", "20:00"]
temp_list = [18, 22, 28, 30, 27, 23, 20]
# 设置画布大小
plt.figure(figsize=(10, 6))
# 设置标题和坐标轴标签
plt.title("Daily Temperature Change", fontsize=16)
plt.xlabel("Time", fontsize=12)
plt.ylabel("Temperature (°C)", fontsize=12)
# 绘制折线图,添加颜色、线型、标记点
plt.plot(time_list, temp_list, color='red', linestyle='-', marker='o', linewidth=2)
# 添加网格线
plt.grid(True, alpha=0.3)
# 显示图表
plt.show()
评分标准:
· 正确导入matplotlib库(1分)
· 正确设置画布大小为10×6(2分)
· 正确设置图表标题(2分)
· 正确使用plt.plot()绘制折线图(2分)
· 正确使用plt.show()显示图表(1分)
2. 某智能农业系统需要对比三个不同区域的土壤湿度平均值,数据如下:区域A平均湿度45%,区域B平均湿度60%,区域C平均湿度35%。请使用matplotlib绘制柱形图进行对比展示。(8分)
答案示例:
import matplotlib.pyplot as plt
# 准备数据
regions = ["区域A", "区域B", "区域C"]
humidity = [45, 60, 35]
# 设置画布大小
plt.figure(figsize=(8, 6))
# 设置标题
plt.title("不同区域土壤湿度对比")
# 设置坐标轴标签
plt.xlabel("区域")
plt.ylabel("平均湿度 (%)")
# 绘制柱形图
plt.bar(regions, humidity)
# 显示图表
plt.show()
进阶版本(添加更多样式和数据标签):
import matplotlib.pyplot as plt
from matplotlib import rcParams
# 设置中文字体(如果需要显示中文)
rcParams["font.sans-serif"] = ["SimHei"]
rcParams["axes.unicode_minus"] = False
# 准备数据
regions = ["区域A", "区域B", "区域C"]
humidity = [45, 60, 35]
# 设置画布大小
plt.figure(figsize=(8, 6))
# 设置标题和坐标轴标签
plt.title("不同区域土壤湿度对比", fontsize=16)
plt.xlabel("区域", fontsize=12)
plt.ylabel("平均湿度 (%)", fontsize=12)
# 绘制柱形图,设置颜色
colors = ['skyblue', 'lightgreen', 'coral']
bars = plt.bar(regions, humidity, color=colors, width=0.6)
# 在柱形图上添加数值标签
for bar in bars:
height = bar.get_height()
plt.text(bar.get_x() + bar.get_width()/2., height,
f'{height}%',
ha='center', va='bottom', fontsize=10)
# 设置y轴范围
plt.ylim(0, 70)
# 添加网格线
plt.grid(axis='y', alpha=0.3)
# 显示图表
plt.show()
评分标准:
· 正确准备数据(区域和湿度)(2分)
· 正确设置画布和标题(2分)
· 正确使用plt.bar()绘制柱形图(3分)
· 正确显示图表(1分)
注意事项:
· 如果需要显示中文,需要设置中文字体
· 可以通过color参数设置柱形的颜色
· 可以通过width参数设置柱形的宽度
· 进阶版本可以添加数据标签、网格线等增强可读性
试卷结束
飞象老师智能出品 第 页
学科网(北京)股份有限公司
$