From 58cd7415a8113aaa735102a385a961fde3b9bfdf Mon Sep 17 00:00:00 2001 From: Joshua Coles Date: Sun, 19 Mar 2023 10:35:50 +0000 Subject: [PATCH] sp-fd-2d-3d --- figures/sp-fd-2d-3d.png | Bin 0 -> 47647 bytes figures/sp-fd-2d-3d.svg | 1652 +++++++++++++++++++++++++++++++++++++++ graphs/sp-fd-2d-3d.py | 50 ++ 3 files changed, 1702 insertions(+) create mode 100644 figures/sp-fd-2d-3d.png create mode 100644 figures/sp-fd-2d-3d.svg create mode 100644 graphs/sp-fd-2d-3d.py diff --git a/figures/sp-fd-2d-3d.png b/figures/sp-fd-2d-3d.png new file mode 100644 index 0000000000000000000000000000000000000000..25235c724c2c0be90f60fc6036023b9656326bcf GIT binary patch literal 47647 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 literal 0 HcmV?d00001 diff --git a/figures/sp-fd-2d-3d.svg b/figures/sp-fd-2d-3d.svg new file mode 100644 index 0000000..ebc3ad0 --- /dev/null +++ b/figures/sp-fd-2d-3d.svg @@ -0,0 +1,1652 @@ + + + + + + + + 2023-03-19T10:35:10.109493 + image/svg+xml + + + Matplotlib v3.7.1, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/graphs/sp-fd-2d-3d.py b/graphs/sp-fd-2d-3d.py new file mode 100644 index 0000000..a75bb77 --- /dev/null +++ b/graphs/sp-fd-2d-3d.py @@ -0,0 +1,50 @@ +from matplotlib import pyplot as plt + +from lib.lib import read_sp, read_xyz_alt, read_xy_alt, aggregate_sp_fd + +# %% +d2_raw = read_sp("../data/rust-sticking-probability", read_xy_alt) +d2 = aggregate_sp_fd(d2_raw) +d3_raw = read_sp("../data/rust-3d-offaxis-sp", read_xyz_alt) +d3 = aggregate_sp_fd(d3_raw) + +# %% +plt.plot( + d2.index, + d2.fd, + color='tab:blue', + label='D2' +) + +plt.fill_between( + d2.index, + d2.fd - d2.fd_std, + d2.fd + d2.fd_std, + alpha=0.2, + color='tab:blue', + label=f"Standard error band" +) + +plt.plot( + d3.index, + d3.fd, + color='tab:orange', + label='D3' +) + +plt.fill_between( + d3.index, + d3.fd - d3.fd_std, + d3.fd + d3.fd_std, + alpha=0.2, + color='tab:orange', + label=f"Standard error band" +) + +plt.xlabel("$p_{stick}$") +plt.ylabel("$fd$") +plt.legend() + +plt.savefig('../figures/sp-fd-2d-3d.svg') +plt.savefig('../figures/sp-fd-2d-3d.png') +plt.show()