diff --git a/docs/src/assets/skew_stats.html b/docs/src/assets/skew_stats.html index 6f23b95..375e3b7 100644 --- a/docs/src/assets/skew_stats.html +++ b/docs/src/assets/skew_stats.html @@ -3,11 +3,11 @@ diff --git a/examples/clock_skew_stats.svg b/examples/clock_skew_stats.svg index cd4a945..451bc2f 100644 --- a/examples/clock_skew_stats.svg +++ b/examples/clock_skew_stats.svg @@ -2,1347 +2,1290 @@ - + - + - - - - - - - - - - + - - - - - - - - - - + - + + + + + + + + + + - - + + - + - + + + + + + + - - - - - - - + - - - - + - + + + + + + + - - - - - - - - - - + - + - - + + - - + + - + + + + + + + + + + - + - - - - - - - - - - - - - + - - + + - - + + - + + + + + + + - + + + + + + + + + + + + + - + - + - + - - - - + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + - + + + + + + + + + + + + + + + + - + - + - - + + - - + + - - - - + - - - - + - - + + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + + - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + - - + + - - - - - - - + - - + + - + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - + + + + + + + + + + + + + diff --git a/examples/skew_stats.jl b/examples/skew_stats.jl index df52082..3e6c267 100644 --- a/examples/skew_stats.jl +++ b/examples/skew_stats.jl @@ -23,6 +23,7 @@ begin using Statistics using PlutoUI using Random + using Printf end # โ•”โ•โ•ก f25e7e08-8a73-4cac-ac7c-d310725c558d @@ -190,7 +191,7 @@ md""" # โ•”โ•โ•ก 420dce0e-4757-48d9-84ec-7ddfac2fdff6 let skew_widths = df_skews.width |> skipmissing |> collect - bins = range(0, maximum(skew_widths), step = 1 / 57)# .- 0.01 + bins = range(0, maximum(skew_widths) + 1 / 57, step = 1 / 57)# .- 0.01 hist( skew_widths, bins = bins, @@ -255,25 +256,6 @@ df_skew_stats = let df end -# โ•”โ•โ•ก 893253c3-f0b2-401f-b892-b23291bcf5c1 -fig_skew_stats = let - fig, ax, sc = scatter( - df_skew_stats.mean_skew, - df_skew_stats.std_skew, - marker = :x, - color = (Makie.wong_colors()[1], 0.8), - axis = (title = "skew mean vs std", xlabel = "mean", ylabel = "std"), - ) - text!( - ax, - df_skew_stats.mean_skew, - df_skew_stats.std_skew, - text = string.(df_skew_stats.psbid), - color = (:gray, 0.5), - ) - fig -end - # โ•”โ•โ•ก 6467dcaa-6bd6-45c7-8c08-b310a09b8b0b save("clock_skew_stats.svg", fig_skew_stats) @@ -493,9 +475,109 @@ end # โ•”โ•โ•ก aa9b78bc-8d66-4df2-bd06-1cbf21190488 filter(:width => (x -> ismissing(x) || x < 0.06), df_skews_selected) +# โ•”โ•โ•ก 86437ee6-ccea-43fa-bd93-d86fe055f28d +md""" +# ใƒ—ใƒญใƒƒใƒˆใพใจใ‚ +- ไฝ•ใ‚‰ใ‹ใฎ็•ฐๅธธใŒ่ฆ‹ใ‚‰ใ‚ŒใŸใ‚‚ใฎใ‚’ใ™ในใฆ้™คๅค–ใ—ใฆใƒ—ใƒญใƒƒใƒˆ + +!!! todo + skewๆธฌๅฎšใŒไฝฟใ„็‰ฉใซใชใ‚‹ใ‹ใฎใƒ•ใƒฉใ‚ฐใ‚’ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚นใซใ„ใ‚Œใ‚‹๏ผŸ +""" + +# โ•”โ•โ•ก 2a24c277-6679-49f3-b387-6937b7661a25 +invalid_measurements = [215, 291, 442, 460, 462, 545, 799, 802, 444, 255, 435] + +# โ•”โ•โ•ก 13b4112f-96ab-41a1-8ef1-d940771f6ece +df_skews_selected_valids = let + df = filter(:psbid => !in(invalid_measurements), df_skews_selected) + df +end + +# โ•”โ•โ•ก 6a856a55-2611-41d0-a2c7-3645c066fc3c +begin + @assert all(!ismissing, df_skews_selected_valids.skew) + @assert all(!ismissing, df_skews_selected_valids.width) + @assert all(==(1), df_skews_selected_valids.riseup) +end + +# โ•”โ•โ•ก 4a4ef945-b312-44ed-ab62-ce01fc33f926 +let + bins = range( + minimum(df_skews_selected_valids.skew) - 5 / 57, + maximum(df_skews_selected_valids.skew) + 5 / 57, + step = 2 / 57, + ) + fig = Figure() + ax = Axis( + fig[1, 1], + title = "skews", + limits = (nothing, (nothing, nothing)), + xlabel = "skew / ns", + ) + sh1 = stephist!(ax, df_skews_selected_valids.skew, bins = bins) + Legend( + fig[1, 1], + [sh1], + [""" + n = $(nrow(df_skews_selected_valids)) + ฮผ = $(@sprintf "%.2g" mean(df_skews_selected_valids.skew)) + ฯƒ = $(@sprintf "%.2g" std(df_skews_selected_valids.skew)) + """], + tellwidth = false, + tellheight = false, + halign = :right, + valign = :top, + margin = (10, 10, 10, 10), + ) + fig +end + +# โ•”โ•โ•ก 13bb4978-b98d-44a3-a4b6-4241cadc609b +let + bins = range( + minimum(df_skews_selected_valids.width) - 1 / 57, + maximum(df_skews_selected_valids.width) + 2 / 57, + step = 1 / 57, + ) + fig = Figure() + ax = Axis( + fig[1, 1], + title = "rise up span", + xlabel = "time / ns", + xticks = ( + bins, + string.(round.(bins, digits = 3)),# .* "," .* string.(round.(Int64, bins * 57)), + ), + xticklabelrotation = ฯ€ / 3, + ) + h1 = hist!( + ax, + df_skews_selected_valids.width, + bins = bins, + bar_labels = :y, + label_formatter = x -> "$(round(Int, x))", + flip_labels_at = 330, + ) + Legend( + fig[1, 1], + [h1], + [""" + n = $(nrow(df_skews_selected_valids)) + ฮผ = $(@sprintf "%.2g" mean(df_skews_selected_valids.width)) + ฯƒ = $(@sprintf "%.2g" std(df_skews_selected_valids.width)) + """], + tellwidth = false, + tellheight = false, + halign = :right, + valign = :top, + margin = (10, 10, 10, 10), + ) + fig +end + # โ•”โ•โ•ก 6c3c7669-d594-425d-bf05-9aa217c7656e md""" -## turn on curves +# turn on curves - lines on - the minimum and maximum skews - the minimum and maximum widths @@ -578,6 +660,52 @@ let fig end +# โ•”โ•โ•ก 19f85f1b-07d3-48c2-9ca6-a5a8eb1ab746 +fig_skew_stats = let + fig, ax, sc = scatter( + df_skew_stats.mean_skew, + df_skew_stats.std_skew, + marker = :x, + color = (Makie.wong_colors()[1], 0.8), + axis = ( + title = "skew mean vs std", + xlabel = "mean", + ylabel = "std", + limits = ((-0.6, 1.2), (-0.01, 0.09)), + ), + ) + text!( + ax, + df_skew_stats.mean_skew, + df_skew_stats.std_skew, + text = string.(df_skew_stats.psbid), + color = (:gray, 0.5), + ) + fig +end + +# โ•”โ•โ•ก 893253c3-f0b2-401f-b892-b23291bcf5c1 +# โ• โ•โ•ก disabled = true +#=โ• โ•โ•ก +fig_skew_stats = let + fig, ax, sc = scatter( + df_skew_stats.mean_skew, + df_skew_stats.std_skew, + marker = :x, + color = (Makie.wong_colors()[1], 0.8), + axis = (title = "skew mean vs std", xlabel = "mean", ylabel = "std"), + ) + text!( + ax, + df_skew_stats.mean_skew, + df_skew_stats.std_skew, + text = string.(df_skew_stats.psbid), + color = (:gray, 0.5), + ) + fig +end + โ• โ•โ•ก =# + # โ•”โ•โ•ก Cell order: # โ•Ÿโ”€f25e7e08-8a73-4cac-ac7c-d310725c558d # โ• โ•7c69d12c-80a5-11ef-2674-e155a3483342 @@ -618,6 +746,7 @@ end # โ• โ•92c2ac3f-8034-4e9e-aadb-8bb166fbc948 # โ• โ•893253c3-f0b2-401f-b892-b23291bcf5c1 # โ• โ•6467dcaa-6bd6-45c7-8c08-b310a09b8b0b +# โ• โ•19f85f1b-07d3-48c2-9ca6-a5a8eb1ab746 # โ• โ•79e2f5d8-4609-4e9f-949e-6dc1f88c0b19 # โ• โ•eae649db-6b2b-4530-83a8-3438f29423cc # โ• โ•d607e10e-854f-4652-9a34-9e22a188e315 @@ -637,5 +766,11 @@ end # โ• โ•07342d98-3889-4a19-8419-6d113fffb42e # โ• โ•939aba6b-b03c-42b6-83b3-9cea5f4eb858 # โ• โ•aa9b78bc-8d66-4df2-bd06-1cbf21190488 +# โ• โ•86437ee6-ccea-43fa-bd93-d86fe055f28d +# โ• โ•2a24c277-6679-49f3-b387-6937b7661a25 +# โ• โ•13b4112f-96ab-41a1-8ef1-d940771f6ece +# โ• โ•6a856a55-2611-41d0-a2c7-3645c066fc3c +# โ• โ•4a4ef945-b312-44ed-ab62-ce01fc33f926 +# โ• โ•13bb4978-b98d-44a3-a4b6-4241cadc609b # โ• โ•6c3c7669-d594-425d-bf05-9aa217c7656e # โ• โ•e9b3f541-d87d-4424-8b82-be1b7b3273d8