在当今数字化时代,医疗行业的数据可视化变得越来越重要。它可以帮助医疗专业人士更直观地分析数据,从而做出更准确的决策。Flask 是一个轻量级的 Web 开发框架,非常适合用于构建数据可视化平台。本文将带你从零开始,逐步搭建一个基于 Flask 的医疗数据可视化平台,并掌握相关的源码使用技巧。
准备工作
在开始之前,请确保你已经安装了以下工具和库:
- Python 3.x
- Flask
- NumPy
- Matplotlib
- Pandas
- SQLite
你可以使用以下命令进行安装:
pip install flask numpy matplotlib pandas sqlite3
创建项目结构
首先,创建一个名为 medical-visual 的项目文件夹,并在其中创建以下文件和目录:
medical-visual/
├── app.py
├── static/
│ ├── css/
│ ├── js/
│ └── img/
├── templates/
│ ├── base.html
│ └── index.html
└── data/
└── patients.csv
编写 Flask 应用
现在,我们来编写 Flask 应用的主体部分。打开 app.py 文件,并添加以下代码:
from flask import Flask, render_template
import pandas as pd
app = Flask(__name__)
# 加载数据
data = pd.read_csv('data/patients.csv')
@app.route('/')
def index():
# 传递数据到模板
return render_template('index.html', data=data)
if __name__ == '__main__':
app.run(debug=True)
这段代码首先导入了必要的库,并创建了一个 Flask 应用实例。然后,它从 data/patients.csv 文件中加载数据,并在根路由 / 中将数据传递给 index.html 模板。
创建 HTML 模板
接下来,我们需要创建 HTML 模板来展示数据。打开 templates/base.html 文件,并添加以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>医疗数据可视化平台</title>
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
</head>
<body>
<header>
<h1>医疗数据可视化平台</h1>
</header>
<main>
{% block content %}
{% endblock %}
</main>
<footer>
<p>版权所有 © 2021 医疗数据可视化平台</p>
</footer>
</body>
</html>
这个模板定义了网站的基本结构,包括头部、主体和尾部。我们将在 index.html 中填充主体内容。
现在,打开 templates/index.html 文件,并添加以下代码:
{% extends 'base.html' %}
{% block content %}
<h2>患者数据</h2>
<table>
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>诊断</th>
</tr>
</thead>
<tbody>
{% for row in data.values %}
<tr>
<td>{{ row[0] }}</td>
<td>{{ row[1] }}</td>
<td>{{ row[2] }}</td>
<td>{{ row[3] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
这段代码继承自 base.html 模板,并在主体部分添加了一个表格来展示患者数据。
添加 CSS 样式
为了美化页面,我们需要添加一些 CSS 样式。打开 static/css/style.css 文件,并添加以下代码:
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f4;
}
header {
background-color: #333;
color: #fff;
padding: 10px 0;
text-align: center;
}
main {
margin: 20px;
padding: 20px;
background-color: #fff;
}
footer {
background-color: #333;
color: #fff;
text-align: center;
padding: 10px 0;
position: fixed;
bottom: 0;
width: 100%;
}
这些样式将设置页面字体、背景颜色和间距等。
运行应用
现在,我们已经完成了应用的搭建。在终端中,进入 medical-visual 目录,并运行以下命令:
python app.py
打开浏览器,访问 http://127.0.0.1:5000/,你应该能看到一个展示患者数据的表格。
总结
通过本文,你学会了如何从零开始搭建一个基于 Flask 的医疗数据可视化平台。你可以根据自己的需求,添加更多功能,例如图表、筛选器和搜索等。祝你搭建成功!
