diff --git a/Manifest.toml b/Manifest.toml index 011ee3e..dcc6928 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.11.2" manifest_format = "2.0" -project_hash = "e20af0781afd5866dc7398b8d852e9c8ee3e4f13" +project_hash = "e82c3289a33671d299515a19486ddf833e4288d8" [[deps.ANSIColoredPrinters]] git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" @@ -31,18 +31,39 @@ version = "2.2.0" uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" version = "1.11.0" +[[deps.BayesHistogram]] +git-tree-sha1 = "5d5dda960067751bc1534aba765f771325044501" +uuid = "000d9b38-65fe-4c81-bdb9-69f01f102479" +version = "1.0.7" + [[deps.CSV]] deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "PrecompileTools", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"] git-tree-sha1 = "deddd8725e5e1cc49ee205a1964256043720a6c3" uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" version = "0.10.15" +[[deps.Calculus]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "9cb23bbb1127eefb022b022481466c0f1127d430" +uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" +version = "0.5.2" + [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] git-tree-sha1 = "bce6804e5e6044c6daab27bb533d1295e4a2e759" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" version = "0.7.6" +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "c7acce7a7e1078a20a285211dd73cd3941a871d6" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.12.0" +weakdeps = ["StyledStrings"] + + [deps.ColorTypes.extensions] + StyledStringsExt = "StyledStrings" + [[deps.Compat]] deps = ["TOML", "UUIDs"] git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" @@ -58,6 +79,17 @@ deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" version = "1.1.1+0" +[[deps.ConstructionBase]] +git-tree-sha1 = "76219f1ed5771adbb096743bff43fb5fdd4c1157" +uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" +version = "1.5.8" +weakdeps = ["IntervalSets", "LinearAlgebra", "StaticArrays"] + + [deps.ConstructionBase.extensions] + ConstructionBaseIntervalSetsExt = "IntervalSets" + ConstructionBaseLinearAlgebraExt = "LinearAlgebra" + ConstructionBaseStaticArraysExt = "StaticArrays" + [[deps.Crayons]] git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" @@ -112,12 +144,40 @@ deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" version = "1.6.0" +[[deps.EarCut_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053" +uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" +version = "2.2.4+0" + [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "e51db81749b0777b2147fbe7b783ee79045b8e99" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" version = "2.6.4+1" +[[deps.Extents]] +git-tree-sha1 = "81023caa0021a41712685887db1fc03db26f41f5" +uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" +version = "0.1.4" + +[[deps.FHist]] +deps = ["BayesHistogram", "LinearAlgebra", "MakieCore", "Measurements", "RecipesBase", "Requires", "Statistics", "StatsBase"] +git-tree-sha1 = "66013ca09dbaa9017a987562c19791c3e9a64a5a" +uuid = "68837c9b-b678-4cd5-9925-8a54edc8f695" +version = "0.11.7" + + [deps.FHist.extensions] + FHistHDF5Ext = "HDF5" + FHistMakieExt = "Makie" + FHistPlotsExt = "Plots" + + [deps.FHist.weakdeps] + CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" + HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" + Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" + Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" + [[deps.FilePathsBase]] deps = ["Compat", "Dates"] git-tree-sha1 = "7878ff7172a8e6beedd1dea14bd27c3c6340d361" @@ -133,11 +193,34 @@ weakdeps = ["Mmap", "Test"] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" version = "1.11.0" +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.5" + [[deps.Future]] deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" version = "1.11.0" +[[deps.GeoFormatTypes]] +git-tree-sha1 = "59107c179a586f0fe667024c5eb7033e81333271" +uuid = "68eda718-8dee-11e9-39e7-89f7f65f511f" +version = "0.4.2" + +[[deps.GeoInterface]] +deps = ["Extents", "GeoFormatTypes"] +git-tree-sha1 = "826b4fd69438d9ce4d2b19de6bc2f970f45f0f88" +uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" +version = "1.3.8" + +[[deps.GeometryBasics]] +deps = ["EarCut_jll", "Extents", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] +git-tree-sha1 = "b62f2b2d76cee0d61a2ef2b3118cd2a3215d3134" +uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" +version = "0.4.11" + [[deps.Git]] deps = ["Git_jll"] git-tree-sha1 = "04eff47b1354d702c3a85e8ab23d539bb7d5957e" @@ -174,11 +257,32 @@ deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" version = "1.11.0" +[[deps.IntervalSets]] +git-tree-sha1 = "dba9ddf07f77f60450fe5d2e2beb9854d9a49bd0" +uuid = "8197267c-284f-5f27-9208-e0e47529a953" +version = "0.7.10" +weakdeps = ["Random", "RecipesBase", "Statistics"] + + [deps.IntervalSets.extensions] + IntervalSetsRandomExt = "Random" + IntervalSetsRecipesBaseExt = "RecipesBase" + IntervalSetsStatisticsExt = "Statistics" + [[deps.InvertedIndices]] git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038" uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" version = "1.3.0" +[[deps.IrrationalConstants]] +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.2" + +[[deps.IterTools]] +git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" +uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +version = "1.10.0" + [[deps.IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" uuid = "82899510-4779-5014-852e-03e436cf321d" @@ -246,10 +350,32 @@ deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" version = "1.11.0" +[[deps.LogExpFunctions]] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.28" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" version = "1.11.0" +[[deps.MakieCore]] +deps = ["ColorTypes", "GeometryBasics", "IntervalSets", "Observables"] +git-tree-sha1 = "b774d0563bc332f64d136d50d0420a195d9bdcc6" +uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" +version = "0.8.11" + [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" @@ -266,6 +392,26 @@ deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" version = "2.28.6+0" +[[deps.Measurements]] +deps = ["Calculus", "LinearAlgebra", "Printf", "Requires"] +git-tree-sha1 = "bdcde8ec04ca84aef5b124a17684bf3b302de00e" +uuid = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" +version = "2.11.0" + + [deps.Measurements.extensions] + MeasurementsBaseTypeExt = "BaseType" + MeasurementsJunoExt = "Juno" + MeasurementsRecipesBaseExt = "RecipesBase" + MeasurementsSpecialFunctionsExt = "SpecialFunctions" + MeasurementsUnitfulExt = "Unitful" + + [deps.Measurements.weakdeps] + BaseType = "7fbed51b-1ef5-4d67-9085-a4a9b26f478c" + Juno = "e5e0dc1b-0480-54bc-9374-aad01c23163d" + RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" + SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + [[deps.Missings]] deps = ["DataAPI"] git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" @@ -284,6 +430,11 @@ version = "2023.12.12" uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" +[[deps.Observables]] +git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225" +uuid = "510215fc-4207-5dde-b226-833fc4488ee2" +version = "0.5.5" + [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" @@ -359,6 +510,12 @@ deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" version = "1.11.0" +[[deps.RecipesBase]] +deps = ["PrecompileTools"] +git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" +uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" +version = "1.3.4" + [[deps.Reexport]] git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" uuid = "189a3867-3050-52da-a836-e630ba90ab69" @@ -370,6 +527,12 @@ git-tree-sha1 = "ffd19052caf598b8653b99404058fce14828be51" uuid = "2792f1a3-b283-48e8-9a74-f99dce5104f3" version = "0.1.0" +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" version = "0.7.0" @@ -406,6 +569,11 @@ git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" version = "1.2.1" +[[deps.SparseArrays]] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +version = "1.11.0" + [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] git-tree-sha1 = "777657803913ffc7e8cc20f0fd04b634f871af8f" @@ -430,12 +598,22 @@ deps = ["LinearAlgebra"] git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0" uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" version = "1.11.1" +weakdeps = ["SparseArrays"] [deps.Statistics.extensions] SparseArraysExt = ["SparseArrays"] - [deps.Statistics.weakdeps] - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.7.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "5cf7606d6cef84b543b483848d4ae08ad9832b21" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.34.3" [[deps.StringManipulation]] deps = ["PrecompileTools"] @@ -443,10 +621,36 @@ git-tree-sha1 = "a6b1675a536c5ad1a60e5a5153e1fee12eb146e3" uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" version = "0.4.0" +[[deps.StructArrays]] +deps = ["ConstructionBase", "DataAPI", "Tables"] +git-tree-sha1 = "9537ef82c42cdd8c5d443cbc359110cbb36bae10" +uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" +version = "0.6.21" + + [deps.StructArrays.extensions] + StructArraysAdaptExt = "Adapt" + StructArraysGPUArraysCoreExt = ["GPUArraysCore", "KernelAbstractions"] + StructArraysLinearAlgebraExt = "LinearAlgebra" + StructArraysSparseArraysExt = "SparseArrays" + StructArraysStaticArraysExt = "StaticArrays" + + [deps.StructArrays.weakdeps] + Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" + GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" + LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + [[deps.StyledStrings]] uuid = "f489334b-da3d-4c2e-b8f0-e476e12c162b" version = "1.11.0" +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "7.7.0+0" + [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" diff --git a/Project.toml b/Project.toml index 8add35d..de7613d 100644 --- a/Project.toml +++ b/Project.toml @@ -11,6 +11,7 @@ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" Downloads = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +FHist = "68837c9b-b678-4cd5-9925-8a54edc8f695" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" SQLite = "0aa819cd-b072-5ff4-a722-6bc24af294d9" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" @@ -23,7 +24,6 @@ InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" PSBoardDataBaseInteractiveUtilsExt = "InteractiveUtils" [compat] -julia = "1.10" Aqua = "0.8" AutoHashEquals = "2.2" CSV = "0.10" @@ -32,12 +32,14 @@ DataFrames = "1" Dates = "1.10" Documenter = "1.7" Downloads = "1" +FHist = "0.11.7" InteractiveUtils = "1.10" Printf = "1.10" SQLite = "1" StaticArrays = "1.9" Tables = "1" Test = "1.10" +julia = "1.10" [extras] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" diff --git a/examples/pllld_count.jl b/examples/pllld_count.jl new file mode 100644 index 0000000..d3d6991 --- /dev/null +++ b/examples/pllld_count.jl @@ -0,0 +1,184 @@ +### A Pluto.jl notebook ### +# v0.20.3 + +using Markdown +using InteractiveUtils + +# ╔═╡ 635dcf78-b6b3-11ef-3a04-f5b7c43ed12d +begin + using Pkg + Pkg.activate("..") + + using PSBoardDataBase + using SQLite + using DataFrames + using CairoMakie + using FHist + using LinearAlgebra + using Printf +end + +# ╔═╡ 3fccbdca-9856-4122-8597-9f267f90d390 +md""" +# 説明 +第6回 PS-Board QAQC キャンペーンの11_27のファームウェアを使った100回試験において、PLLLD fail countの数の分布の調査 +""" + +# ╔═╡ b9808518-95aa-464f-bb93-b4ee40ce2f57 +PSBoardDataBase.SlaveLogParser.parse_slavelog_file + +# ╔═╡ a36886af-ff32-4f4f-a20f-f83bc333b8fd +db = SQLite.DB("../psboard_qaqc.db") + +# ╔═╡ df5087be-18de-4714-b6d8-4ab54271b1fb +SQLite.tables(db) + +# ╔═╡ 56d8896a-40e3-46e3-aa28-82f89476743b +qaqc_runs = DBInterface.execute(db, "select * from qaqc_runs") |> DataFrame + +# ╔═╡ 08032250-5893-445c-8662-459e5636ba81 +qaqc_extra_run_results = + DBInterface.execute(db, "select * from qaqc_extra_run_results") |> DataFrame + +# ╔═╡ 013948ff-ccde-4222-862b-7ecda62fd7f1 +qaqc_extra_run_campaign_6 = let + runids_campaign_6 = filter(:campaign_id => x -> (!ismissing(x) && x == 6), qaqc_runs).id + filter(:runid => in(runids_campaign_6), qaqc_extra_run_results) +end + +# ╔═╡ 41da581f-0cdf-40f3-a1f8-bf1bd7f8835b +map(eachrow(qaqc_extra_run_campaign_6)) do row + logfilename = "$(row.psboard_id)_$(row.runid)_longrun.txt" + logfile = joinpath("../test/input/slavelogs/main/", logfilename) + !ispath(logfile) && begin + @info "file $(logfile) not found" + return missing + end + slave_result = PSBoardDataBase.SlaveLogParser.parse_slavelog_file(logfile) + map(slave_result.asdtp) do asdtp_result + asdtp_result.pllld_fail_counter + end +end + +# ╔═╡ 2d89b7dc-37b6-4309-a2e6-61b93fb94628 +transform( + qaqc_extra_run_campaign_6, + [:psboard_id, :runid] => + ByRow( + (psboard_id, runid) -> begin + logfilename = "$(psboard_id)_$(runid)_longrun.txt" + logfile = joinpath("../test/input/slavelogs/main/", logfilename) + !ispath(logfile) && return missing + slave_result = + PSBoardDataBase.SlaveLogParser.parse_slavelog_file(logfile) + map(slave_result.asdtp) do asdtp_result + asdtp_result.pllld_fail_counter + end + end, + ) => :pllld_count, +) + +# ╔═╡ 34ae2948-bb5a-4086-beb1-cfb77593d678 +df_pllld_counts = combine( + groupby(qaqc_extra_run_campaign_6, :id), + AsTable([:psboard_id, :runid]) => + ( + sdf -> begin + @assert nrow(sdf) == 1 + logfilename = "$(sdf.psboard_id[1])_$(sdf.runid[1])_longrun.txt" + logfile = joinpath("../test/input/slavelogs/main/", logfilename) + !ispath(logfile) && begin + @warn "logfile $(logfile) not found" + return [] + end + slave_result = + PSBoardDataBase.SlaveLogParser.parse_slavelog_file(logfile) + return map(slave_result.asdtp) do asdtp_result + ( + psboard_id = sdf.psboard_id[1], + runid = sdf.runid[1], + pllld_count = asdtp_result.pllld_fail_counter + 1, + ) + end + end + ) => [:psboard_id, :runid, :pllld_count], +) + +# ╔═╡ c084b8f4-dbc2-497b-9132-7e4bd4fd3874 +sort(df_pllld_counts, :pllld_count, rev = true) + +# ╔═╡ 6d85cc29-0d02-43b4-8a50-57f003e4686b +let + df = combine(groupby(df_pllld_counts, :id), nrow) + sort!(df, :nrow) +end + +# ╔═╡ e95447c1-a8e2-4a46-9320-e1a88d9e34da +unique(df_pllld_counts.psboard_id) |> sort + +# ╔═╡ 0433bbe4-1f71-4cf7-96ec-ac9c70170feb +stephist(df_pllld_counts.pllld_count) + +# ╔═╡ 4927e97b-0822-4f17-bae9-e43cad504c3b +stephist( + df_pllld_counts.pllld_count, + bins = 0:10, + normalization = :probability, + axis = (; yscale = log10, limits = ((1, 11), (1e-6, 2))), +) + +# ╔═╡ f04d5c95-7308-4129-ba95-49da2e142d5d +let + h1 = Hist1D(df_pllld_counts.pllld_count; binedges = 1:1:10, overflow = false) + h1 = normalize(h1) + fig = Figure() + ax = Axis( + fig[1, 1], + yscale = log10, + xlabel = "Number of resets before PLL lock", + ylabel = "fraction", + title = "PLLLD count ratios of 6th QAQC 100 test results", + ) + stephist!(ax, h1, label = "pllld fail count") + errorbars!(ax, h1) + text!( + ax, + bincenters(h1), + bincounts(h1), + text = [@sprintf "%.4g" r for r in bincounts(h1)], + ) + axislegend(position = :rt) + Label( + fig[1, 1], + """ + n = $(nentries(h1)) + $(length(unique(df_pllld_counts.psboard_id))) PS-Boards + """, + tellwidth = false, + tellheight = false, + halign = :right, + padding = (20, 20, 20, 20), + ) + save("pllld_fail_counts.svg", fig) + + fig +end + +# ╔═╡ Cell order: +# ╠═3fccbdca-9856-4122-8597-9f267f90d390 +# ╠═635dcf78-b6b3-11ef-3a04-f5b7c43ed12d +# ╠═b9808518-95aa-464f-bb93-b4ee40ce2f57 +# ╠═a36886af-ff32-4f4f-a20f-f83bc333b8fd +# ╠═df5087be-18de-4714-b6d8-4ab54271b1fb +# ╠═56d8896a-40e3-46e3-aa28-82f89476743b +# ╠═08032250-5893-445c-8662-459e5636ba81 +# ╠═013948ff-ccde-4222-862b-7ecda62fd7f1 +# ╠═41da581f-0cdf-40f3-a1f8-bf1bd7f8835b +# ╠═2d89b7dc-37b6-4309-a2e6-61b93fb94628 +# ╠═34ae2948-bb5a-4086-beb1-cfb77593d678 +# ╠═c084b8f4-dbc2-497b-9132-7e4bd4fd3874 +# ╠═6d85cc29-0d02-43b4-8a50-57f003e4686b +# ╠═e95447c1-a8e2-4a46-9320-e1a88d9e34da +# ╠═0433bbe4-1f71-4cf7-96ec-ac9c70170feb +# ╠═4927e97b-0822-4f17-bae9-e43cad504c3b +# ╠═f04d5c95-7308-4129-ba95-49da2e142d5d diff --git a/examples/pllld_fail_counts.svg b/examples/pllld_fail_counts.svg new file mode 100644 index 0000000..7660266 --- /dev/null +++ b/examples/pllld_fail_counts.svg @@ -0,0 +1,943 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +