From 72d783f4ab705defe45104bf517e156303a91e4a Mon Sep 17 00:00:00 2001 From: Wataru Otsubo Date: Fri, 13 Dec 2024 20:14:35 +0900 Subject: [PATCH] update(skew_stats): plot for time dependency of skew for each campaigns --- examples/skew_stats.jl | 82 +++++++++++++++++++++++++++++++++++------- 1 file changed, 70 insertions(+), 12 deletions(-) diff --git a/examples/skew_stats.jl b/examples/skew_stats.jl index 7d1f9a2..1bd28f1 100644 --- a/examples/skew_stats.jl +++ b/examples/skew_stats.jl @@ -723,9 +723,6 @@ let grd1[1:2, 2], limits = ((2.9, 6.7), nothing), ylabel = "Δskew / ns", - # xgridvisible = false, - # xticksvisible = false, - # xticklabelsvisible = false, xticks = (3:6, string.(3:6)), xlabel = "campaign", yminorticksvisible = true, @@ -763,7 +760,6 @@ let text = string.(df_compare.psbid), color = (:black, 0.5), align = (:left, :center), - # fontsize = 17, ) campaigns = df_compare.campaign_id_old |> unique |> sort! Legend( @@ -817,7 +813,6 @@ let push!(std_runs, std(sdf_samerun.skew |> skipmissing)) push!(datetime_runs, sdf_samerun.run_datetime |> first) end - @info "" mean_runs std_runs datetime_runs scatterlines!( ax, datetime_runs, @@ -826,13 +821,7 @@ let markersize = 10, color = Makie.wong_colors()[2], ) - errorbars!( - ax, - datetime_runs, - mean_runs, - std_runs, - color = Makie.wong_colors()[2], - ) + errorbars!(ax, datetime_runs, mean_runs, std_runs, color = Makie.wong_colors()[2]) end fig end @@ -984,6 +973,74 @@ let fig end +# ╔═╡ 126f5825-25c1-4628-b4ae-ffbd9830833c +let + df = leftjoin( + df_skews_selected_valids, + select(qaqc_runs, [:id, :run_datetime]), + on = :runid => :id, + ) + # from UTC to JST(+9h) + transform!(df, :run_datetime => ByRow(dt -> dt + Hour(9)) => :run_datetime) + + @assert all(!ismissing, df.run_datetime) + dropmissing!(df, :run_datetime) + + transform!(df, :run_datetime => ByRow(Date) => :run_date) + + fig = Figure(size = (600, 900)) + gdf = groupby(df, :campaign_id) + for (i, sdf) in enumerate(gdf) + unit_converter = Makie.DateTimeConversion(Time) + ax = Axis( + fig[i, 1], + title = string(keys(gdf)[i]), + dim1_conversion = unit_converter, + limits = ( + ( + Makie.convert_dim_value(unit_converter, Time(0)), + Makie.convert_dim_value(unit_converter, Time(23, 59, 59)), + ), + # (-2, 2), + nothing, + ), + ) + sdf = transform(sdf, :run_datetime => ByRow(Time) => :run_time) + sort!(sdf, :run_time) + scatter!(ax, sdf.run_datetime .|> Time, sdf.skew, markersize = 7, alpha = 0.7) + df_runs = combine( + groupby(sdf, :runid), + AsTable(:) => + ( + sdf -> begin + (; + mean = mean(sdf.skew |> skipmissing), + std = std(sdf.skew |> skipmissing), + run_time = first(sdf.run_time), + ) + end + ) => [:mean, :std, :run_time], + ) + sort!(df_runs, :run_time) + scatterlines!( + ax, + df_runs.run_time, + df_runs.mean, + marker = :hline, + markersize = 10, + color = Makie.wong_colors()[2], + ) + errorbars!( + ax, + df_runs.run_time, + df_runs.mean, + df_runs.std, + color = Makie.wong_colors()[2], + ) + end + fig +end + # ╔═╡ 46b2a3cd-d2e6-4277-8b65-9c61f25f69e8 3 / 56 @@ -1206,6 +1263,7 @@ end # ╠═dff359b1-4827-40c6-86e4-0915974ef27d # ╠═7920b03b-1d1a-4b51-bfc0-86d1361f2ff1 # ╠═e640424b-7f7b-4cca-a634-92749ceee170 +# ╠═126f5825-25c1-4628-b4ae-ffbd9830833c # ╠═46b2a3cd-d2e6-4277-8b65-9c61f25f69e8 # ╟─55bad662-cfdd-45c8-81bf-4e65e5c8434e # ╠═13bb4978-b98d-44a3-a4b6-4241cadc609b