基于python flask+pyecharts实现的中药数据可视化大屏,实现基于Apriori算法的药品功效关系的关联规则

简介: 本文介绍了一个基于Python Flask和Pyecharts实现的中药数据可视化大屏,该系统应用Apriori算法挖掘中药药材与功效之间的关联规则,为中医药学研究提供了数据支持和可视化分析工具。

背景

在中医药学中,物品与功效之间的关联关系研究是一个非常重要的课题。传统中医药学中,很多药物都具有多种功效,而且不同药物对同一种疾病可能具有不同的疗效。因此,挖掘物品与功效之间的关联关系,可以帮助我们更加准确地认识和应用中医药宝库中的药物,从而提高中医药学的治疗效果和水平。

随着信息技术的快速发展,Python作为一种流行的编程语言,已经被广泛应用于中医药学领域。Python具有丰富的第三方库和工具,例如NumPy、Pandas、Matplotlib等,这些库和工具为中医药学数据挖掘提供了丰富的工具和支持。同时,Python Flask + Pyecharts实现了中药数据可视化大屏,为物品与功效之间的关联关系研究提供了有效的可视化工具。

基于物品的关联规则算法在中医药学中的应用研究具有重要的研究背景和意义。通过构建物品-功效对应关系表,并利用Python Flask + Pyecharts实现中药数据可视化大屏,可以实现对物品与功效之间关联关系的定量分析,为中医药学的研究提供有力的数据支持。同时,基于物品的关联规则算法还可以为中医药学挖掘关联规则提供新的思路和方法,有助于发掘中医药宝库中的更多创新和发展机会。

技术栈:

flask框架

pandas

selenium爬虫

pyecharts可视化

关联规则算法(纯算法,没有库)

前端html+js+css

前端页面设计

前端设计的关键步骤:

页面布局设计:
使用Flex布局将页面分为左侧、中间和右侧三个主要部分,每个部分包含多个子元素。
左侧和右侧各包含三个垂直排列的子元素,用于展示不同类型的数据。
中间部分用于显示地图数据,并包含一个计时器显示当前时间。

样式设计:
设置全局样式,包括页面背景色、字体颜色、间距等,确保页面整体风格统一。
设计每个数据展示框的样式,包括边框样式、高度、宽度等,使其具有辨识度。
为表格容器添加滚动条样式,确保表格数据超出容器高度时可以滚动查看。

数据填充与更新:
使用JavaScript和jQuery库实现数据的动态填充和更新,通过Ajax请求从后端获取最新数据并更新图表。
在表格部分,根据后端返回的数据动态生成表格行,并实现表格的滚动效果。

图表展示:
使用ECharts库初始化各个图表实例,并根据后端返回的数据更新图表内容。
不仅展示静态图表,还可以通过定时器定时刷新数据,实现实时数据展示。
通过以上设计,可以实现一个交互性强、信息展示清晰的气象数据可视化大屏,为用户提供直观、动态的数据分析和监控功能。

flask框架代码


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

@app.route("/style.css")
def get_scss():
    return render_template("style.css")

@app.route("/css/<cssname>")
def get_fcss(cssname):
    return render_template("css/"+cssname)

@app.route("/js/<jsname>")
def get_JS(jsname):
    return render_template("js/"+jsname)

@app.route("/barChart")
def get_bar_chart():
    c = bar_base()
    return c.dump_options_with_quotes()

@app.route("/mapChart")
def get_map_chart():
    c = map_base()
    return c.dump_options_with_quotes()

@app.route("/blm")
def get_bar2_chart():
    c = get_HY_BAR()
    return c.dump_options_with_quotes()

关联规则算法

from __future__ import print_function
import pandas as pd
import numpy as np
from apriori import find_rule  # 导入自行编写的apriori函数

df = pd.read_csv('medicine_data.csv')
df=df[df['中药材类别(按功效划分)'].str.contains('活血', na=False)]
df['功效']=df['功效'].str.replace('。','')
data=df['功效'].str.split('、',expand=True)
print(df.info())
print('data: \n', data)
print(u'\n转换原始数据至0-1矩阵...')
# 确认数据转换为 NumPy 数组
data_array = data.values
print('data_array: \n', data_array)
print('data_array shape: ', data_array.shape)
print('data_array type: ', type(data_array))
# print('data_as_matrix: \n', data.as_matrix())
# array = np.array(data)
# a1 = array[0, :]
# print('a1: \n', a1)
# print(pd.Series(1, index=a1[pd.notna(a1)]))
# 匿名函数ct的作用是取出x中不是NAN的元素作为索引列,然后对应的值都为1。
# pd.Series()要求值的个数要么和索引的个数相等,要么只给定一个值然后按照索引的个数复制
# 转换成0-1矩阵
ct = lambda x: pd.Series(1, index=x[pd.notna(x)])
data_01matrix = data.apply(ct, axis=1).fillna(0)

print('data_01matrix: \n', data_01matrix)
print(u'\n转换完毕。')
#
support = 0.05  # 最小支持度
confidence = 0.5  # 最小置信度
ms = '---'  # 连接符,默认'--',用来区分不同元素,如A--B。需要保证原始表格中不含有该字符

# find_rule(data, support, confidence, ms).to_excel(output_path)
result = find_rule(data_01matrix, support, confidence, ms)   # 输出结果
result.reset_index(inplace=True)
print('result: \n', result)
print(result.info())
print(result.values.tolist())

运行结果:

最终大屏效果

相关文章
|
7月前
|
算法 搜索推荐 JavaScript
基于python智能推荐算法的全屋定制系统
本研究聚焦基于智能推荐算法的全屋定制平台网站设计,旨在解决消费者在个性化定制中面临的选择难题。通过整合Django、Vue、Python与MySQL等技术,构建集家装设计、材料推荐、家具搭配于一体的一站式智能服务平台,提升用户体验与行业数字化水平。
|
8月前
|
存储 算法 调度
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
397 26
|
7月前
|
存储 监控 算法
监控电脑屏幕的帧数据检索 Python 语言算法
针对监控电脑屏幕场景,本文提出基于哈希表的帧数据高效检索方案。利用时间戳作键,实现O(1)级查询与去重,结合链式地址法支持多条件检索,并通过Python实现插入、查询、删除操作。测试表明,相较传统列表,检索速度提升80%以上,存储减少15%,具备高实时性与可扩展性,适用于大规模屏幕监控系统。
216 5
|
7月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
715 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
8月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
366 0
|
8月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
555 0
|
7月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
665 0
|
7月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
426 2
|
8月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
352 3
|
7月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
324 8

热门文章

最新文章

推荐镜像

更多