数据可视化测试题及答案解析

一、选择题(每题 2 分,共 40分)
  1. 下列( )不包含结构化数据。

    • A.数据库表
    • B. 电影视频
    • C. Excel 表格
    • D. 网页表单
      答案:B. 电影视频
      解析: 结构化数据指的是组织成固定格式或模式的数据,如数据库表、Excel表格等。电影视频属于非结构化数据。
  2. 下面不是暖色的是( )。

    • A.红
    • B. 橙
    • C. 浅蓝
    • D. 紫
      答案:C. 浅蓝
      解析: 暖色通常包括红、橙、黄等颜色,而浅蓝属于冷色。
  3. 下面不是大数据分析算法的是( )。

    • A.机器学习
    • B. 聚类
    • C. 关联
    • D. 转换
      答案:D. 转换
      解析: 转换不是大数据分析中的一种算法。常见的大数据分析算法包括机器学习、聚类和关联分析。
  4. 小王在界面上设计了很多图表,能够显示很多统计结果,用处比较大,设计也很美观,用户对此并不满意,认为没有突出主题,可能是因为不符合可视化设计的( )标准。

    • A. 表达力强
    • B. 有效性强
    • C. 简洁易用
    • D. 有美感
      答案:B. 有效性强
      解析: 有效性强的图表能够明确传达核心信息和主题。
  5. Excel 中对某个表格的某个位置进行了引用(比如:=A3),纵向拖动行号不会进行自动扩展的是( )。

    • A. =A3
    • B. =$A3
    • C. =A$3
    • D. =B4

    答案:C. =A$3
    解析: 在Excel中,=A$3表示固定行,不固定列。

    • =A3: 纵向拖动时,行号会自动扩展,例如向下拖动一行会变成 =A4。
    • =$A3: 纵向拖动时,列号会自动扩展,例如向下拖动一行会变成 =B3。
    • =A$3: 纵向拖动时,行号固定不变,始终引用第3行。
    • =B4: 纵向拖动时,行号和列号都会自动扩展。
  6. 下面( )可以用来表示连续数据的变化状态。

    • A. 柱状图
    • B. 折线图
    • C. 堆积图
    • D. 饼图
      答案:B. 折线图
      解析: 折线图适用于展示连续数据的变化趋势。
  7. Excel 中,需要对 D3 到 F6 之间所有的单元格求和,下面正确的是( )。

    • A. =sum(D1:F3)
    • B. =sum(D3:F6)
    • C. =sum(D3, F6)
    • D. =sum(D3; F6)
      答案:B. =sum(D3:F6)
      解析: 函数sum的正确语法是=SUM(起始单元格:结束单元格)。
  8. 下面( )不是 eCharts 图表的主要组成部分(大小写不区分)。

    • A. toolbarname
    • B. grid
    • C. title
    • D. xAxis
      答案:A. toolbarname
      解析: eCharts的主要组成部分包括grid、title和xAxis,而toolbarname并不是主要部分。
  9. eCharts 饼图中,不需要进行配置的部分是()。

    • A. x 轴
    • B. 数据系列
    • C. 数据
    • D. 图例
      答案:A. x轴
      解析: 饼图不涉及坐标轴的配置。
  10. eCharts 散点图中,采用“symbolSize: function (data) {}”的方法控制图上点的大小,这 是采用了()的方式。

    • A. 成员函数
    • B. 调用函数
    • C. 回调函数
    • D. 类函数
      答案:C. 回调函数
      解析: 回调函数是在特定事件或条件触发时调用的函数。
  11. 下面做法中正确的是()。

    • A.在一个饼图中用不同颜色表示不同类型,不同个数的多组数据
    • B.在一个柱状图中显示两组不同个数,不同类别的数据
    • C.在不改变 x 轴 label 的情况下,散点图 x 轴默认的意义是数据类别
    • D.一个线状图可以用来表示相同类型的两组数据

    答案:D. 一个线状图可以用来表示相同类型的两组数据

    • 解析: 线状图可以用来表示相同类型的两组数据。

    • A.在一个饼图中用不同颜色表示不同类型,不同个数的多组数据

      • 错误。饼图一般用于表示一个整体中不同部分的比例。它不适合用于显示不同个数的多组数据,因为饼图中的部分需要总和为100%。
    • B.在一个柱状图中显示两组不同个数,不同类别的数据

      • 错误。柱状图适合比较不同类别的数据,但每组数据的个数应该相同。如果两组数据的个数不同,柱状图可能无法清晰地表示数据。
    • C.在不改变 x 轴 label 的情况下,散点图 x 轴默认的意义是数据类别

      • 错误。散点图的 x 轴和 y 轴一般表示数值数据。默认情况下,x 轴表示数据类别是不正确的,除非明确设置。
    • D.一个线状图可以用来表示相同类型的两组数据

      • 正确。线状图可以用来显示随时间变化的趋势或关系。如果两组数据属于相同类型(例如两组时间序列数据),可以使用线状图来表示并进行比较。
  12. 设置 eCharts 散点图的数据如下:[[1,1], [1,2],[1,3]]; 有如下代码:symbolSize: function (data){ return data[0] } 以上代码的运行效果是()。

    • A. 数据离散分布在同一条竖线上;数据点大小一样;
    • B. 数据离散分布在同一条横线上;数据点大小一样;
    • C. 数据离散分布在同一条竖线上;数据点大小不一样;
    • D. 数据离散分布在同一条横线上;数据点大小不一样。
      答案:C. 数据离散分布在同一条竖线上;数据点大小不一样
      解析: symbolSize函数返回data[0],因此点的大小取决于x值。
  13. Javascript 中,有:var data = [3, {A: 1, B: 2, C: 3}, {A: 4, B: 5, C:{C: 6}}],则 data[2].C 是()。

    • A. {C: 6}
    • B. {A: 1, B: 2, C: 3}
    • C. {A: 1, B: 2, {C: 3}}
    • D. 3
      答案:A. {C: 6}
      解析: data[2]是对象{A: 4, B: 5, C: {C: 6}},其中C是{C: 6}。
  14. 在 BS 架构(网站)的信息系统中,前端浏览器通过()协议与后端服务端进行交互。

    • A. HTTP
    • B. Web Server
    • C. JSON
    • D. Ajax
      答案:A. HTTP
      解析: BS架构中,前端通过HTTP协议与后端进行交互。
  15. 前端表单请求的 url 是:“<form action = “http://127.0.0.1:5000/cmd” method = “post”>”下面哪个能够正常相应前端表单的请求。

    • A. @app.route(‘/cmd:5000’)
    • B. @app.route(‘/127.0.0.1/cmd’)
    • C. @app.route(‘/cmd’, methods=[‘GET’])
    • D. @app.route(‘/cmd’, methods=[‘POST’])
      答案:D. @app.route(‘/cmd’, methods=[‘POST’])
      解析: 表单使用POST方法,因此需要在Flask路由中指定methods=[‘POST’]。
  16. 需要在后台动态改变返回前台的 eCharts 图表的标题(title),需要( )。

    • A. 在相应 route 函数中采用 return 返回 eCharts 图表的标题
    • B. 在模板文件 head 标签中,定义变量{{title}}
    • C. 在模板文件 head 标签中,定义 eCharts 图表标题的字符串
    • D. 在模板文件 head 标签中,定义 eCharts 图表标题的变量,并在渲染函数(render_template)中对变量进行赋值
      答案:D. 在模板文件 head 标签中,定义 eCharts 图表标题的变量,并在渲染函数(render_template)中对变量进行赋值
      解析: 动态改变标题需要在模板中定义变量,并在渲染时赋值。
  17. flask 模板文件中,数组变量 Arr 的定义正确的是( )。

    • A. {{Arr}}
    • B. {{Arr|safe}}
    • C. {{Arr[]}}
    • D. {[Arr]}
      答案:B. {{Arr|safe}}
      解析: 使用safe过滤器来确保数组变量在模板中被正确解析。
  18. 下面( )与前后端分离无关。

    • A. Jinja2
    • B. Ajax
    • C. flask
    • D. MyBatis
      答案:D. MyBatis
      解析: MyBatis是一个持久层框架,与前后端分离无关。
  19. 在Tableau 中导入不同学生的学院、姓名、年龄如下:

    学院姓名年龄
    电信学院张三17
    电信学院李四18
    艺术学院王五19
    轨道学院卢六17
    音乐学院刘七18
    音乐学院赵八19

    如果需要将学院类型进行分类显示,即,将电信学院和轨道学院显示为“工科学院”,将艺术学院和音乐学院显示为“文科学院”,那么可以采用()方法。
    A. 分类
    B. 分级
    C. 分组
    D. 自动分组
    答案:C. 分组

    解析:

    • A. 分类:Tableau中没有特定的“分类”功能。
    • B. 分级:用于将数据按等级或层级进行组织,但不适用于此处的具体分类需求。
    • C. 分组:Tableau中确实有分组功能,用于将多个类别合并为一个新的类别。
    • D. 自动分组:虽然Tableau有一些自动分组功能,但通常用于连续数据的分组(如将连续数值分成区间),不适用于此处的具体分类需求。
  20. 用Tableau 实现学生姓名、年龄表格的可视化,那么下面正确的是()。
    A.姓名和年龄都是维度
    B.姓名和年龄都是度量
    C.姓名是维度,年龄是度量
    D.姓名是度量,年龄是维度
    答案:C. 姓名是维度,年龄是度量
    解析:

    • 在Tableau中,字段分为维度(Dimensions)度量(Measures) 两类:

      • 维度(Dimensions)

        • 用于对数据进行分类和分组的字段,例如名称、类别、日期等。
        • 这些字段通常是离散的。
      • 度量(Measures)

        • 用于计算和聚合的数据,例如数值、金额、分数等。
        • 这些字段通常是连续的。

    在题目中:

    • 学生姓名:用于对学生进行标识和分类,因此是维度(Dimension)。
    • 学生年龄:用于计算和分析(如平均年龄、年龄分布等),因此是度量(Measure)。

二、根据要求,完成下列各题(每题 10 分,共 60 分)
  1. Excel 绘图任务:
  • (1)生成柱状图,统计三个班级的平均成绩:
    • 打开 Excel 表格,选择数据区域。
    • 点击“插入”选项卡,选择“柱状图”,生成柱状图。
    • 设置图表标题为“班级平均成绩”。
  • (2)生成饼图,统计每个班级人数在所有学生人数中的占比:
    • 在同一个表单中,选择人数数据区域。
    • 点击“插入”选项卡,选择“饼图”,生成饼图。
    • 设置图表标题为“班级人数占比”。
      解析: 通过Excel的图表功能,柱状图可以展示平均成绩,饼图可以展示人数占比。
  1. eCharts 绘图任务:
  • (1)用 eCharts 编写网页,绘制折线图,横轴显示基金名称、纵轴表示基金的净值:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body>
    <div id="lineChart" style="width: 600px;height:400px;"></div>
    <script>
        var myChart = echarts.init(document.getElementById('lineChart'));
        var option = {
            xAxis: {
                type: 'category',
                data: ['基金1', '基金2', '基金3']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: [820, 932, 901],
                type: 'line'
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>
  • (2)用 eCharts 编写网页,绘制饼图,统计各基金净值在所有基金净值总和中的占比:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body>
    <div id="pieChart" style="width: 600px;height:400px;"></div>
    <script>
        var myChart = echarts.init(document.getElementById('pieChart'));
        var option = {
            series: [{
                name: '净值占比',
                type: 'pie',
                radius: '50%',
                data: [
                    {value: 820, name: '基金1'},
                    {value: 932, name: '基金2'},
                    {value: 901, name: '基金3'}
                ]
            }]
        };
        myChart.setOption(option);
    </script>
</body>
</html>
  • (3)采用 Tableau,生成柱状图,横轴显示基金名称、纵轴表示基金的净值:
    • 打开 Tableau 软件,导入 Excel 数据。
    • 拖动基金名称到列,拖动净值到行。
    • 选择柱状图类型,生成图表,并截图保存。
      解析: eCharts通过编写简单的HTML和JavaScript代码,可以生成动态的折线图和饼图;Tableau可以方便地拖动生成柱状图。
  1. Flask 与 Excel 数据结合任务:
from flask import Flask, render_template, request
import pandas as pd
import matplotlib.pyplot as plt

app = Flask(__name__)

@app.route('/')
def index():
    data = pd.read_csv('data.csv')
    fig, ax = plt.subplots()
    data.plot(kind='bar', x='产品名称', y='净值', ax=ax)
    plt.savefig('static/bar_chart.png')
    return render_template('index.html')

@app.route('/submit', methods=['POST'])
def submit():
    data = pd.read_csv('data.csv')
    filtered_data = data[data['产品名称'].str.contains('富荣基金')]
    fig, ax = plt.subplots()
    filtered_data.plot(kind='bar', x='产品名称', y='净值', ax=ax)
    plt.savefig('static/filtered_bar_chart.png')
    return render_template('index.html', filtered_chart=True)

if __name__ == '__main__':
    app.run(debug=True)
<!DOCTYPE html>
<html>
<head>
    <title>柱状图展示</title>
</head>
<body>
    <h1>产品净值柱状图</h1>
    <img src="{{ url_for('static', filename='bar_chart.png') }}" alt="柱状图">
    {% if filtered_chart %}
    <h1>富荣基金产品净值柱状图</h1>
    <img src="{{ url_for('static', filename='filtered_bar_chart.png') }}" alt="富荣基金柱状图">
    {% endif %}
    <form method="post" action="/submit">
        <button type="submit">提交</button>
    </form>
</body>
</html>

解析: Flask结合Pandas和Matplotlib,可以读取Excel数据并生成图表,通过网页展示这些图表,并可以动态更新和展示特定数据的图表。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值