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 it is too large Load diff

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Before After
Before After

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