From c20ba22646ede033ccac03f32fc5c8b791dd60f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=AA=AA=20=E8=B2=B4=E6=B4=8B?= Date: Wed, 31 Aug 2022 19:25:58 +0900 Subject: [PATCH] modified gr2sq.py for output png and xlsx --- gr2sq.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/gr2sq.py b/gr2sq.py index 03f4468..b22f822 100755 --- a/gr2sq.py +++ b/gr2sq.py @@ -13,6 +13,8 @@ par.add_argument('-q', '--qrange', nargs=2, default=None, type=float) par.add_argument('-t', '--trange', nargs=2, default=[10, 120], type=float) par.add_argument('--pnt', default=1001, type=int) par.add_argument('--lmd', default=1.54183, type=float) +par.add_argument('-p', '--plot', default=False, action='store_true') + args = par.parse_args() @@ -1092,7 +1094,7 @@ class Data(): self.pairs = self.gr.columns[1:-1] def CalSq(self): - columns = np.append(["Q"], self.pairs) + columns = np.append(["Q", "2theta"], self.pairs) self.sq = pd.DataFrame(columns=columns) if args.qrange is None: tmin, tmax = sorted(args.trange) @@ -1152,7 +1154,7 @@ class Data(): c_nd = n * ci * cj * Ncoe[a] * Ncoe[b] / Ncoe["cf"]**2 self.sq["ND"] += c_nd * self.sq[pair] - def PlotSq(self): + def OutputSq(self): fig, ax = plt.subplots() if args.qrange is None: x = 2*np.arcsin(args.lmd / 4 / np.pi * self.sq["Q"])*180/np.pi @@ -1162,9 +1164,15 @@ class Data(): label = "$Q/{\\rm \\AA^{-1}}$" ax.plot(x, self.sq["XRD"]) ax.set_xlabel(label) - plt.show() + base, _ = os.path.splitext(self.grfile) + fig.savefig(f"{base}.png") + print(f"{base}.png was created.") + with pd.ExcelWriter(f"{base}.xlsx") as o: + self.sq.to_excel(o, sheet_name="S(Q)", index=False) + print(f"{base}.xlsx was created.") + if args.plot is True: + plt.show() d = Data(args.grfile) - -d.PlotSq() +d.OutputSq()