update: skew_stats.jl (add plots with standard psboards only)

- decorated plots for publish
This commit is contained in:
Wataru Otsubo 2024-10-07 16:17:31 +09:00
parent f961ad7f4c
commit d77b369a6c
3 changed files with 836 additions and 758 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 154 KiB

View file

@ -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