大数据可视化实验(六)——ECharts与pyecharts数据可视化

news2024/12/23 8:33:26

目录

一、实验目的... 1

二、实验环境... 1

三、实验内容... 1

1、ECharts可视化制作.. 1

1)使用ECharts绘制折线图显示一周的天气变换。... 1

2)使用ECharts绘制柱状图显示商品销量的变化。... 4

2、pyecharts可视化制作.. 7

1)使用pyecharts绘制图书销售量对比图。.. 7

四、思考问题... 9

五、总结与心得体会... 9

一、实验目的

了解ECharts与pyecharts数据可视化的特点,能进行简单的ECharts与pyecharts有关的操作。

二、实验环境

硬件:微型图像处理系统,

包括:主机, PC机;

操作系统:Windows 11

应用软件:ECharts与pyecharts

三、实验内容

1、ECharts可视化制作

1)使用ECharts绘制折线图显示一周的天气变换。

编写代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
   
<script src="echarts.min.js"></script>
</head>
<body>
       <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
       
var myChart = echarts.init(document.getElementById('main'));
        // 指定图表的配置项和数据
      
var option = {
   title: {
   text: '未来一周气温变化范围'        
     
},
     tooltip: {},
      legend: {},
      toolbox: {},
        xAxis: [{       
          data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
        }],
       yAxis: { },
     series: [{
       name: '最高气温',
     type: 'line',
    data: [21, 21, 25, 23, 22, 23, 20]         
        },
      {
   name: '最低气温',
     type: 'line',
   data: [10, 12, 12, 15, 13, 12, 10]       
   }]
  };
// 使用刚指定的配置项和数据显示图表。
   
myChart
.setOption(option);
    </script>
</body>
</html>

  1. <!DOCTYPE html>: 这行声明了文档类型,告诉浏览器这是一个 HTML5 文档。
  2. <html>: 这是 HTML 文档的根元素。
  3. <head>: 包含了文档的元数据,比如字符集声明、标题和脚本引用等。
  4. <meta charset="utf-8">: 设置字符编码为 UTF-8,这是一种广泛使用的字符编码,可以显示大多数国家的语言字符。
  5. <title>ECharts</title>: 设置了浏览器标签页的标题为 "ECharts"。
  6. <script src="echarts.min.js"></script>: 引入了 ECharts 的 JavaScript 库文件。这个文件应该放在与 HTML 文件相同的目录下的 echarts.min.js,或者你可以使用 CDN 链接来引入。
  7. <body>: 包含了页面的所有内容,比如文本、图片、视频和 canvas 元素等。
  8. <div id="main" style="width: 600px;height:400px;"></div>: 创建了一个 div 元素,用作 ECharts 图表的容器。它的 id 为 "main",并且指定了宽高为 600px 乘以 400px。
  9. <script type="text/javascript">: 定义了一个 JavaScript 脚本块。
  10. var myChart = echarts.init(document.getElementById('main'));: 初始化 ECharts 实例,通过 echarts.init 绑定到了上面创建的 div 容器上。
  11. var option = { ... }: 定义了图表的配置项和数据,包括:
  12. title: 图表标题,设置为 "未来一周气温变化范围"。
  13. tooltip: 提供提示框配置,这里没有具体设置,将使用默认配置。
  14. legend: 图例组件,这里没有具体设置,将使用默认配置。
  15. toolbox: 工具栏组件,允许导出图表等操作,这里没有具体设置。
  16. xAxis: 配置 x 轴的相关信息,这里是一个数组,包含了一个 xAxis 对象,其 data 属性定义了 x 轴的类目数据,即一周的每一天。
  17. yAxis: 配置 y 轴的相关信息,这里没有具体设置,将使用默认配置。
  18. series: 定义了图表的数据系列,这里有两个系列,分别表示 "最高气温" 和 "最低气温",类型为 'line',即折线图。每个系列的数据通过 data 属性给出。
  19. myChart.setOption(option);: 使用刚指定的配置项和数据显示图表。

运行结果如下:

2)使用ECharts绘制柱状图显示商品销量的变化。

编写代码如下:

<!DOCTYPE html>
<html style="height: 100%">
<
head>
    <meta charset="utf-8">
    <title>ECharts 柱状图示例</title>
    <!-- 引入 ECharts 主要的 JS 文件,可以通过修改 version 版本号来获取最新版本 -->
   
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.0.2/echarts.min.js"></script>
</head>
<body style="height: 100%; margin: 0">
    <div id="container" style="height: 100%"></div>
    <script type="text/javascript">
        // 基于准备好的dom对象,初始化 echarts 实例
       
var myChart = echarts.init(document.getElementById('container'));

       
// 指定图表的配置项和数据
       
var option = {
           
title: {
               
text: '商品销量变化柱状图'
            },
           
tooltip: {
               
trigger: 'axis',
               
axisPointer: {
                   
type: 'shadow'
                }
            },
           
legend: {
               
data: ['销量']
            },
           
xAxis: {
               
type: 'category',
               
data: ['可乐', '啤酒', '奶茶', '果汁', '酸奶', '牛奶', '矿泉水']
            },
           
yAxis: {
               
type: 'value'
            },
           
series: [{
               
name: '销量',
               
type: 'bar',
               
data: [300, 270, 340, 244, 500, 400, 470],
               
itemStyle: {
                   
color: 'skyblue'
                }
            }]
        };

       
// 使用刚指定的配置项和数据显示图表。
        myChart
.setOption(option);
    </
script>
</body>
</html>

  1. <!DOCTYPE html>: 这行声明了文档类型,告诉浏览器这是一个 HTML5 文档。
  2. <html style="height: 100%">: 这是 HTML 文档的根元素,并且设置了高度为100%,以便能够占据整个浏览器窗口的高度。
  3. <head>: 包含了文档的元数据,比如字符集声明、标题和脚本引用等。
  4. <meta charset="utf-8">: 设置字符编码为 UTF-8,这是一种广泛使用的字符编码,可以显示大多数国家的语言字符。
  5. <title>ECharts 柱状图示例</title>: 设置了浏览器标签页的标题为 "ECharts 柱状图示例"。
  6. <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.0.2/echarts.min.js"></script>: 引入了 ECharts 的 JavaScript 库文件。这里使用的是 CDN 链接,确保了可以在线获取到 ECharts 的指定版本(在这个例子中是 5.0.2 版本)。
  7. <body style="height: 100%; margin: 0">: 包含了页面的所有内容,比如文本、图片、视频和 canvas 元素等。style 属性设置了高度为100%,使 body 元素也能够占据整个浏览器窗口的高度,而 margin: 0 去除了默认的边距。
  8. <div id="container" style="height: 100%"></div>: 创建了一个 div 元素,用作 ECharts 图表的容器。它的 id 为 "container",并且指定了高度为100%,这意味着它将占据其父元素的全部高度。
  9. <script type="text/javascript">: 定义了一个 JavaScript 脚本块。
  10. var myChart = echarts.init(document.getElementById('container'));: 初始化 ECharts 实例,通过 echarts.init 绑定到了上面创建的 div 容器上。
  11. var option = { ... }: 定义了图表的配置项和数据,包括:
  12. title: 图表标题,设置为 "商品销量变化柱状图"。
  13. tooltip: 提供提示框配置,trigger: 'axis' 表示当鼠标悬停在坐标轴上时触发提示框,axisPointer 的 type: 'shadow' 表示以阴影方式指示坐标轴。
  14. legend: 图例组件,data: ['销量'] 表示图例包含一个名为 "销量" 的数据系列。
  15. xAxis: 配置 x 轴的相关信息,类型为 'category',表示 x 轴是类目轴,数据为商品的名称列表。
  16. yAxis: 配置 y 轴的相关信息,类型为 'value',表示 y 轴是数值轴。
  17. series: 定义了图表的数据系列,这里只有一个系列,表示销量,类型为 'bar',即柱状图。data 属性定义了销量数据,itemStyle 的 color: 'skyblue' 设置了柱子的颜色为天蓝色。
  18. myChart.setOption(option);: 使用刚指定的配置项和数据显示图表。

运行上面代码结果如下:

2、pyecharts可视化制作

1)使用pyecharts绘制图书销售量对比图。

编写以下代码:

from pyecharts import Line
line = Line(
"折线图", "每周销售量", width=800, height=400)
attr = [
'8.3-8.9','8.10-8.16','8.16-8.22','8.23-8.29','8.30-9.5','9.6-9.12','9.13-9.19','9.20-9.26']
data = [
15000,22000,24000,29000,31000,36000,34000,27000]
line.add(
"销售量",attr,data, is_label_show=True,legend_orient='vertical',legend_pos='center', is_smooth=True, xaxis_rotate='50')
line.render()

  1. from pyecharts import Line: 从 pyecharts 库中导入 Line 类。Line 是用来生成折线图的类。
  2. line = Line("折线图", "每周销售量", width=800, height=400): 创建 Line 类的一个实例,即一个折线图对象。
  3. 第一个参数 "折线图" 是图表的主标题。
  4. 第二个参数 "每周销售量" 是图表的副标题。
  5. width=800 和 height=400 分别设置了图表的宽度和高度。
  6. attr = ['8.3-8.9','8.10-8.16','8.16-8.22','8.23-8.29','8.30-9.5','9.6-9.12','9.13-9.19','9.20-9.26']: 定义一个列表 attr,包含按周划分的时间区间,这些将作为 x 轴的类目。
  7. data = [15000,22000,24000,29000,31000,36000,34000,27000]: 定义一个列表 data,包含每周的销售量数据,这些将作为 y 轴的数值。
  8. line.add("销售量",attr,data, is_label_show=True,legend_orient='vertical',legend_pos='center', is_smooth=True, xaxis_rotate='50'): 使用 add 方法向折线图对象中添加数据系列。
  9. "销售量" 是数据系列的名称。
  10. attr 是 x 轴的类目数据。
  11. data 是 y 轴的数据,即每周的销售量。
  12. is_label_show=True 表示显示数据标签。
  13. legend_orient='vertical' 设置图例为垂直排列。
  14. legend_pos='center' 设置图例在图表中的位置为中心。
  15. is_smooth=True 表示线条是否为曲线,这里设置为真即线条为曲线。
  16. xaxis_rotate='50' 设置 x 轴标签旋转50度,以便更好地适应图表。
  17. line.render(): 调用 render 方法生成 HTML 文件,并在浏览器中打开显示图表。render 方法会生成一个名为 "render.html" 的文件,你可以用浏览器打开这个文件来查看图表。

运行上述代码得到一个html文件,运行结果如下:

四、思考问题

ECharts与pyecharts软件功能强大,除了上述要实现的功能,大家可以自己进行扩展。

五、总结与心得体会

ECharts与pyecharts软件功能强大,需要进一步学习。

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

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

相关文章

Webpack: 深入理解图像加载原理与最佳实践

概述 图形图像资源是当代 Web 应用的最常用、实惠的内容、装饰元素之一&#xff0c;但在 Webpack 出现之前对图像资源的处理复杂度特别高&#xff0c;需要借助一系列工具(甚至 Photoshop)完成压缩、雪碧图、hash、部署等操作。 而在 Webpack 中&#xff0c;图像以及其它多媒体…

前端Web开发HTML5+CSS3+移动web视频教程 Day3 CSS 第1天

P29 - P43 从此开始进入 CSS 的学习。前面都是 HTML 的学习。 CSS 的作用&#xff1a;美化。 HTML 只是规定了网页内容有哪些&#xff0c;在网页中显示的位置默认是从上到下显示&#xff0c;还带有默认效果&#xff0c;比如超链接有颜色有下划线&#xff0c;无序列表有小圆点…

【算法训练记录——Day37】

Day37——贪心Ⅴ 1.leetcode_56合并区间 1.leetcode_56合并区间 思路&#xff1a;排序&#xff0c;如果重叠&#xff0c;更新right 为max(right, curVal), 不重叠就加入res,需要单独考虑最后一次&#xff0c;因为每次都是在下一次遍历开始时判断是否加入res&#xff0c;因此 当…

平衡二叉搜索树/AVL树

VAL树的特性 左右子树高度差的绝对值不超过1。&#xff08;即左右子树高度差取值为-1&#xff0c;0&#xff0c;1&#xff09;且左右子树均为VAL树右子树的值大于左子树的值 在搜索二叉树中我们提及了搜索二叉树的退化问题。 当有序&#xff08;升序或降序&#xff09;地插入…

人工智能类SCI,1区TOP,3个月可录!

今天给大家推荐一本人工智能类SCIE领域的SCI&#xff0c;此期刊为我处目前合作的重点期刊&#xff01;影响因子7.0-8.0之间&#xff0c;JCR1区&#xff0c;中科院2/1区&#xff08;TOP&#xff09;&#xff0c;最重要的是审稿周期较短&#xff0c;对急投的学者较为友好&#xf…

MATLAB-振动问题:两自由度耦合系统自由振动

一、基本理论 二、MATLAB实现 以下是两自由度耦合系统自由振动质量块振动过程动画显示的MATLAB程序。 clear; clc; close allx0 1; D1 40; D12 8; D2 D1; m1 1; omega0 sqrt(D1/m1); k1 D12 / D1; k2 D12 / D2; k sqrt(k1 * k2); omegazh omega0 * sqrt(1 k); omeg…

SpringBoot使用Spark的DataFrame API

什么是Spark&#xff1f; Apache Spark是一个开源的分布式计算系统&#xff0c;它提供了一个快速和通用的集群计算平台。Spark 能够处理大规模数据&#xff0c;支持多种编程语言&#xff0c;如Scala、Java和Python&#xff0c;并且具有多种高级功能&#xff0c;包括SQL查询、机…

基于51单片机的密码锁Proteus仿真

文章目录 一、密码锁1.题目要求2.思路3.仿真图3.1 未仿真时3.2 初始界面3.3 输入密码界面3.4 开锁成功界面3.5 修改密码界面3.6 输入密码错误界面 4.仿真程序4.1 矩阵按键4.2 液晶显示16024.3 存储模块2402 二、总结 一、密码锁 1.题目要求 以51单片机为核心&#xff0c;设计…

【原创实现 设计模式】Spring+策略+模版+工厂模式去掉if-else,实现开闭原则,优雅扩展

1 定义与优点 1.1 定义 策略模式&#xff08;Strategy Pattern&#xff09;属于对象的⾏为模式。他主要是用于针对同一个抽象行为&#xff0c;在程序运行时根据客户端不同的参数或者上下文&#xff0c;动态的选择不同的具体实现方式&#xff0c;即类的行为可以在运行时更改。…

C++:静态断言内存对齐

静态断言 C中的断言assert (1)直接参考&#xff1a;https://www.cnblogs.com/lvchaoshun/p/7816288.html (2)C的assert是运行时检测发现错误&#xff0c;而不是编译时 (3)C在编译时错误用#error来输出C静态断言 (1)C引入static_assert(表达式, “提示字符串”)来实现编译时的静…

[数据集][目标检测]婴儿状态睡觉哭泣检测数据集VOC+YOLO格式7109张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;7109 标注数量(xml文件个数)&#xff1a;7109 标注数量(txt文件个数)&#xff1a;7109 标注…

【MySQL基础篇】SQL指令:DQL及DCL

1、DQL DQL - 介绍 DQL英文全称是Data Query Language(数据查询语言)&#xff0c;数据查询语言&#xff0c;用来查询数据表中的记录。&#xff08;在MySQL中应用是最为广泛的&#xff09; 查询关键字&#xff1a;SELECT DQL - 语法 SELECT 字段列表 FROM 表名列表 WHER…

代码随想录算法训练营第四十七天| 188.买卖股票的最佳时机IV ,309.最佳买卖股票时机含冷冻期 ,714.买卖股票的最佳时机含手续费

188. 买卖股票的最佳时机 IV - 力扣&#xff08;LeetCode&#xff09; class Solution {public int maxProfit(int k, int[] prices) {int[][] dp new int[prices.length][2*k];for(int i0;i<2*k;i){if(i%2 0){dp[0][i] -prices[0];}else{dp[0][i] 0;} }for(int i1;i…

LeetCode题练习与总结:环形链表Ⅱ--142

一、题目描述 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测…

C语言 | Leetcode C语言题解之第206题反转链表

题目&#xff1a; 题解&#xff1a; struct ListNode* reverseList(struct ListNode* head) {if (head NULL || head->next NULL) {return head;}struct ListNode* newHead reverseList(head->next);head->next->next head;head->next NULL;return newHea…

Camera Raw:增强

Camera Raw 中的增强 Enhance命令基于 AI 技术提升图像的质量&#xff0c;可用于降噪、生成清晰的细节以及提高图像的分辨率。 ◆ ◆ ◆ 主要用途 1、高 ISO 图像降噪 勾选“去杂色” Denoise&#xff0c;可轻松消除使用高 ISO 设置或在低光环境下拍摄的照片中的噪点。 可以对…

Nettyの粘包、半包问题框架解决方案自定义协议

1、Netty框架是如何解决粘包、半包问题 关于粘包&#xff0c;半包问题&#xff0c;在前面几篇中都有提及&#xff0c;我们简单的复习一下。 粘包指的是客户端发出的多条消息&#xff0c;被服务端当做一条进行接收。半包指的是客户端发出一条完整的消息&#xff0c;在传输的过程…

鸿蒙项目实战-月木学途:1.编写首页,包括搜索栏、轮播图、宫格

效果展示 搜索栏制作 相关知识回顾 输入框组件TextInput 单行输入框类型.type(InputType.Normal)//基本输入框.type(InputType.Password)//密码.type(InputType.Email)//邮箱.type(InputType.Number)//数字.type(InputType.PhoneNumber)//电话号.type(InputType.Normal).type…

boston房价预测--机器学习Boston数据分析

1.采用散点图绘制相关性。 #分析波士顿房价数据集的数据相关性 import numpy as np import pandas as pd import matplotlib.pyplot as plt #载入数据集 data_url "http://lib.stat.cmu.edu/datasets/boston" raw_df pd.read_csv(data_url, sep"\s", …

Java数据结构6-栈与队列

1. 栈(Stack) 1.1 概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则 压栈…