From 0a51def80fbdc0da4dfde6f16c41c2fc2e5d85f5 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Thu, 11 Sep 2025 14:32:15 +0800 Subject: [PATCH] 'commit' --- Controller/RuYuanZaiYuanCountController.py | 1 + ...YuanZaiYuanCountController.cpython-310.pyc | Bin 940 -> 940 bytes Model/RuYuanZaiYuanCountModel.py | 185 ++++-------------- .../RuYuanZaiYuanCountModel.cpython-310.pyc | Bin 6170 -> 4771 bytes Start.py | 2 +- 5 files changed, 40 insertions(+), 148 deletions(-) diff --git a/Controller/RuYuanZaiYuanCountController.py b/Controller/RuYuanZaiYuanCountController.py index fe893a4..0db2748 100644 --- a/Controller/RuYuanZaiYuanCountController.py +++ b/Controller/RuYuanZaiYuanCountController.py @@ -18,3 +18,4 @@ async def get_preschool_education_chart_config(): async def get_preschool_in_school_chart_config(): return RuYuanZaiYuanModel.generate_in_school_education_config() + diff --git a/Controller/__pycache__/RuYuanZaiYuanCountController.cpython-310.pyc b/Controller/__pycache__/RuYuanZaiYuanCountController.cpython-310.pyc index c313beb30ab1dfbd25265e4c04b158bf9fe322e1..b673b4e1a85152e264f46d8025a63023bf16c475 100644 GIT binary patch delta 22 ccmZ3(zJ{GQpO=@50SNA9AIj+3$UC1I06~WaV*mgE delta 22 ccmZ3(zJ{GQpO=@50SNXN9?a<2$UC1I06>@qNB{r; diff --git a/Model/RuYuanZaiYuanCountModel.py b/Model/RuYuanZaiYuanCountModel.py index a18ff6f..f697b7f 100644 --- a/Model/RuYuanZaiYuanCountModel.py +++ b/Model/RuYuanZaiYuanCountModel.py @@ -28,155 +28,46 @@ class RuYuanZaiYuanModel: @staticmethod def generate_preschool_education_config(): # 获取学前教育相关数据 - enrollment_data, in_school_data = RuYuanZaiYuanModel.load_student_data() + # enrollment_data, in_school_data = RuYuanZaiYuanModel.load_student_data() + # + # # 提取云南省级数据 + # yunnan_enroll = next((item for item in enrollment_data if item["area_name"] == "云南省"), None) + # + # if not yunnan_enroll: + # return {} + # + # # 提取年份数据(2015-2024) + # years = [str(year) for year in range(2015, 2025)] + # + # # 构建学前教育数据 + # urban_data = [] # 城区数据 + # town_data = [] # 镇区数据 + # rural_data = [] # 乡村数据 + # total_enroll = [] # 总入园数 + # + # for year in years: + # enroll_data = yunnan_enroll["education_data"]["preschool"].get(year, {}) + # urban_data.append(enroll_data.get("urban", 0) / 10000) # 转换为万人 + # town_data.append(enroll_data.get("town", 0) / 10000) # 转换为万人 + # rural_data.append(enroll_data.get("rural", 0) / 10000) # 转换为万人 + # # 计算总和作为总入园数,而非使用文件中的total字段 + # calculated_total = enroll_data.get("urban", 0) + enroll_data.get("town", 0) + enroll_data.get("rural", 0) + # total_enroll.append(calculated_total / 10000) # 转换为万人 - # 提取云南省级数据 - yunnan_enroll = next((item for item in enrollment_data if item["area_name"] == "云南省"), None) - - if not yunnan_enroll: - return {} - - # 提取年份数据(2015-2024) - years = [str(year) for year in range(2015, 2025)] - - # 构建学前教育数据 - urban_data = [] # 城区数据 - town_data = [] # 镇区数据 - rural_data = [] # 乡村数据 - total_enroll = [] # 总入园数 - - for year in years: - enroll_data = yunnan_enroll["education_data"]["preschool"].get(year, {}) - urban_data.append(enroll_data.get("urban", 0) / 10000) # 转换为万人 - town_data.append(enroll_data.get("town", 0) / 10000) # 转换为万人 - rural_data.append(enroll_data.get("rural", 0) / 10000) # 转换为万人 - # 计算总和作为总入园数,而非使用文件中的total字段 - calculated_total = enroll_data.get("urban", 0) + enroll_data.get("town", 0) + enroll_data.get("rural", 0) - total_enroll.append(calculated_total / 10000) # 转换为万人 - - # 添加2022年基数的粉色折线 - base_year = "2022" - # 找到2022年在years中的索引位置 - base_index = years.index(base_year) if base_year in years else 0 - # 获取2022年的总入园数作为基数 - base_value = total_enroll[base_index] if base_index < len(total_enroll) else 0 - # 创建2022年基数折线数据(2022-2024年) - base_2022_line = [] - for i, year in enumerate(years): - # 只在2022年及之后显示基数线 - if i >= base_index: - base_2022_line.append(base_value) - else: - base_2022_line.append(None) # 2022年之前不显示 - - # 构建ECharts配置 - option = { - "grid": { - "left": 0, - "right": 0, - "top": 40, - "bottom": 10, - "containLabel": True, - }, - "textStyle": { - "color": "#fff", - }, - "tooltip": { - "trigger": "axis", - "axisPointer": { - "type": "cross", - "crossStyle": {"color": "#999"} - }, - "textStyle": {"color": "#fff"}, - "backgroundColor": "rgba(96,98,102,0.8)", - "borderColor": "rgba(255,255,255,0.3)", - "borderWidth": 1 - }, - "legend": { - "data": ["城区", "镇区", "乡村", "总入园数", "2022年基数(万人)"], - "top": 0, - "textStyle": {"color": "#fff"}, - "icon": "roundRect", - "itemWidth": 12, - "itemHeight": 12 - }, - "xAxis": [ - { - "type": "category", - "data": years, - "axisPointer": {"type": "shadow"}, - "axisLine": {"lineStyle": {"color": "#fff"}}, - "axisLabel": {"color": "#fff"}, - "nameTextStyle": {"color": "#fff"} + xAxis = ["2019", "2020", "2021", "2022", "2023", "2024", "2025", "2026"] + series_data_1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6] + series_data_2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6] + series_data_3 = [2.4, 5.2, 8.0, 25.4, 27.7, 73.7, 155.6] + series_data_4 = [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3] + line_data = [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3] + data = {"xAxis": xAxis, + "series_data_1": series_data_1, + "series_data_2": series_data_2, + "series_data_3": series_data_3, + "series_data_4": series_data_4, + "line_data": line_data } - ], - "yAxis": [ - { - "type": "value", - "min": 0, - "max": 25, - "interval": 5, - "axisLabel": { - "formatter": "{value}" - , "color": "#fff" - } - }, - { - "type": "value", - "min": 0, - "max": 25, - "interval": 5, - "axisLabel": {"formatter": "{value}", "color": "#fff"}, - }, - - ], - "series": [ - { - "name": "城区", - "type": "bar", - "tooltip": "{valueFormatter: (v) = > v 万人}", - "data": urban_data, - "itemStyle": { - "borderRadius": [6, 6, 0, 0], - } - }, - { - "name": "镇区", - "type": "bar", - "data": town_data, - "tooltip": "{valueFormatter: (v) = > v 万人}", - "itemStyle": { - "borderRadius": [6, 6, 0, 0], - }, - }, - { - "name": "乡村", - "type": "bar", - "data": rural_data, - "tooltip": "{valueFormatter: (v) = > v 万人}", - "itemStyle": { - "borderRadius": [6, 6, 0, 0] - }, - }, - { - "name": "总入园数", - "type": "line", - "yAxisIndex": 1, - "data": total_enroll, - "tooltip": "{valueFormatter: (v) = > v 万人}", - }, - # 添加2022年基数的粉色折线 - { - "name": "2022年基数(万人)", - "type": "line", - "yAxisIndex": 1, - "data": base_2022_line, - "lineStyle": {"color": "#ff9e9e", "width": 2, "type": "solid"}, - "tooltip": "{valueFormatter: (v) = > v 万人}", - } - ] - } - return option + return data @staticmethod def generate_in_school_education_config(): diff --git a/Model/__pycache__/RuYuanZaiYuanCountModel.cpython-310.pyc b/Model/__pycache__/RuYuanZaiYuanCountModel.cpython-310.pyc index 9cd6c6611de0cb5abd9cca33db45703845d9c34f..53b2301bce273964062c4f10a3abc5aa2da19adb 100644 GIT binary patch delta 1755 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