This commit is contained in:
Dustella 2025-01-24 17:05:53 +08:00
parent b7fce2e5aa
commit f9e2e1b188
Signed by: Dustella
GPG Key ID: 35AA0AA3DC402D5C
2 changed files with 33 additions and 17 deletions

View File

@ -70,7 +70,7 @@ def get_days():
def do_plot_wave_day_fitting():
path = request.args.get("path")
day = request.args.get("day")
height = request.args.get("height")
height = request.args.get("height_no")
ncfile = data_nc_load(path)
processor = get_processer()

View File

@ -1,3 +1,4 @@
import os
import pandas as pd
import numpy as np
from scipy.io import loadmat
@ -755,27 +756,39 @@ class TidiPlotv2:
def __init__(self, year):
self.year = year
if os.path.exists(f"./tidi/cache/{year}/all_days_vzonal_results.parquet") \
and os.path.exists(f"./tidi/cache/{year}/all_days_vmeridional_results.parquet"):
all_days_vzonal_results = pd.read_parquet(f"./tidi/cache/{year}/all_days_vzonal_results.parquet")
all_days_vmeridional_results = pd.read_parquet(f"./tidi/cache/{year}/all_days_vmeridional_results.parquet")
else:
all_days_vzonal_results = pd.DataFrame()
all_days_vzonal_results = pd.DataFrame()
# 循环处理每一天的数据
for day in range(1, 365):
u2 = process_vzonal_day(day, year)
all_days_vzonal_results[rf"{day:02d}"] = u2
# 循环处理每一天的数据
for day in range(1, 365):
u2 = process_vzonal_day(day, year)
all_days_vzonal_results[rf"{day:02d}"] = u2
# 将结果按列拼接
all_days_vzonal_results.columns = [f"{day:02d}" for day in range(1, 365)]
# 初始化一个空的DataFrame来存储所有天的结果
all_days_vmeridional_results = pd.DataFrame()
# 将结果按列拼接
all_days_vzonal_results.columns = [f"{day:02d}" for day in range(1, 365)]
# 初始化一个空的DataFrame来存储所有天的结果
all_days_vmeridional_results = pd.DataFrame()
# 循环处理每一天的数据
for day in range(1, 365):
v2 = process_vmeridional_day(day, year)
all_days_vmeridional_results[rf"{day:02d}"] = v2
# 循环处理每一天的数据
for day in range(1, 365):
v2 = process_vmeridional_day(day, year)
all_days_vmeridional_results[rf"{day:02d}"] = v2
# 将结果按列拼接
all_days_vmeridional_results.columns = [f"{day:02d}" for day in range(1, 365)]
# 将结果按列拼接
all_days_vmeridional_results.columns = [f"{day:02d}" for day in range(1, 365)]
# cache the results
# if dir not exists, create it
if not os.path.exists(f"./tidi/cache/{year}"):
os.makedirs(f"./tidi/cache/{year}")
all_days_vzonal_results.to_parquet(f"./tidi/cache/{year}/all_days_vzonal_results.parquet")
all_days_vmeridional_results.to_parquet(f"./tidi/cache/{year}/all_days_vmeridional_results.parquet")
self.all_days_vzonal_results = all_days_vzonal_results
self.all_days_vmeridional_results = all_days_vmeridional_results
@ -823,6 +836,7 @@ class TidiPlotv2:
dates = self.dates
months = self.months
'''绘图'''
plt.clf()
plt.rcParams['font.family'] = 'SimSun' # 宋体
plt.rcParams['font.size'] = 12 # 中文字号
plt.rcParams['axes.unicode_minus'] = False # 正确显示负号
@ -888,6 +902,8 @@ class TidiPlotv2:
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
# clear the last plot
plt.clf()
# 绘制折线图
plt.plot(months, monthly_average, marker='o', linestyle='-', color='b')