使用Python Flask和Echarts展示疫情数据

这篇文章将介绍如何使用Python Flask和Echarts制作一个能够展示疫情统计数据的网页。

一、安装依赖库

首先,需要安装Python Flask和Echarts的依赖库。

pip install flask
pip install pyecharts

二、获取数据

我们需要从网络上获取疫情数据,并将其存储在本地文件中。这里以新冠疫情数据为例。

import requests

# 从网络上获取数据
response = requests.get('https://c.m.163.com/ug/api/wuhan/app/data/list-total?t=318423444501')

# 将数据存储到本地文件中
with open('data.json', 'w') as file:
    file.write(response.json())

三、使用 Flask 构建 Web 服务器

下面是一份使用 Flask 快速构建 Web 服务器的代码。

from flask import Flask, jsonify

app = Flask(__name__)

# 从文件中读取疫情数据
with open('data.json', 'r') as file:
     data = file.read()

@app.route('/')
def index():
    return 'Hello, World!'

@app.route('/data')
def data():
     return jsonify(data)

这份代码包含了 Flask 的最基本用法,当我们访问http://localhost:5000/时,将看到“Hello, World!”,当访问http://localhost:5000/data时,将返回我们从文件中读取到的疫情数据。

四、使用 Echarts 展示数据

Echarts 可以让我们方便地在 Web 服务器上展示数据。

from flask import Flask, jsonify, render_template
from pyecharts.charts import Line

app = Flask(__name__)

# 从文件中读取疫情数据
with open('data.json', 'r') as file:
     data = file.read()

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/data')
def data():
     return jsonify(data)

@app.route('/chart')
def chart():
     # 解析疫情数据
     data = json.loads(data)
     # 处理数据
     date = []
     confirmed_count = []
     for item in data['data']['list']:
         date.append(item['date'])
         confirmed_count.append(item['total']['confirm'])
     # 使用 Echarts 画图
     chart = Line()
     chart.add_xaxis(date)
     chart.add_yaxis('确诊人数', confirmed_count)
     chart.render('chart.html')
     # 返回图表
     with open('chart.html', 'r') as file:
         chart_data = file.read()
     return chart_data

这份代码中,我们增加了一个新的路由http://localhost:5000/chart,它展示了疫情的确诊人数随时间的变化趋势。

五、网页布局

最后,我们需要使用 HTML 和 CSS 对网页进行美化。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>新冠疫情统计数据</title>
    <script src="https://cdn.staticfile.org/echarts/4.7.0/echarts.min.js"></script>
</head>
<body>
    <h1>新冠疫情统计数据</h1>
    <div id="chart" style="width: 100%; height: 600px"></div>
    <script>
        fetch('/chart')
            .then(response => response.text())
            .then(data => {
                document.getElementById('chart').innerHTML = data
            })
    </script>
</body>
</html>

这份代码使用了 Echarts 提供的 JS 库来展示数据,并使用了 Fetch API 从服务器获取数据。

六、总结

通过这篇文章,我们学习了如何使用 Flask 和 Echarts 展示疫情数据,并最终实现了一个简单的疫情数据统计网页。

原创文章,作者:FANPJ,如若转载,请注明出处:https://www.506064.com/n/373531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
FANPJFANPJ
上一篇 2025-04-27 15:26
下一篇 2025-04-27 15:26

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29

发表回复

登录后才能评论