This commit is contained in:
Jacob Holder 2023-04-26 09:32:12 +02:00
parent 3f8fdd38d1
commit 42e3995501
2 changed files with 47 additions and 37 deletions

View File

@ -3,8 +3,9 @@ import numpy as np
import matplotlib.pyplot as plt
import glob
import scipy.interpolate as ip
plt.style.use(["style", "colors", "two_column"])
plt.style.use(["style", "colors", "one_column"])
from spin_image import SpinImage, FFT
from ditact_pic import plot
def check_percentage(p1, p2):
plt.figure()
@ -56,27 +57,22 @@ def debug(percentage, out):
plt.plot(percentage, out[2, :], "k")
def stacked_plot(percentage, out, title=""):
plt.figure()
stacks = plt.stackplot(percentage, out[[0, 3, 1, 2]], colors=[
def stacked_plot(ax, percentage, out, title=""):
stacks = ax.stackplot(percentage, out[[0, 3, 1, 2]], colors=[
"w"], ls="solid", ec="k")
hatches = ["/", "", "\\", "\\"]
for stack, hatch in zip(stacks, hatches):
stack.set_hatch(hatch)
plt.xlabel("Metallic Phase (%)")
plt.ylabel("normalized Intensity ")
plt.ylim([0.4, 1])
plt.xlim([0., 1])
plt.tight_layout()
plt.text(0.1, 0.9, "monoclinic", backgroundcolor="w")
plt.text(0.6, 0.5, "rutile", backgroundcolor="w")
plt.text(0.35, 0.75, "diffusive", backgroundcolor="w")
plt.title(title)
plt.savefig("intens.png")
plt.savefig("intens.pdf")
ax.set_xlabel("Metallic Phase (%)")
ax.set_ylabel("normalized Intensity ")
ax.set_ylim([0.4, 1])
ax.set_xlim([0., 1])
ax.text(0.1, 0.9, "monoclinic", backgroundcolor="w")
ax.text(0.6, 0.5, "rutile", backgroundcolor="w")
ax.text(0.35, 0.75, "diffusive", backgroundcolor="w")
def time_scale(p, o):
def time_scale(ax, p, o):
rut_perc = o[0]
rut_perc = rut_perc - np.min(rut_perc)
rut_perc /= np.max(rut_perc)
@ -90,26 +86,22 @@ def time_scale(p, o):
cs_rut = ip.interp1d(p[::-1], rut_perc[::-1])
cs_mono = ip.interp1d(p[::-1], mono_perc[::-1])
plt.figure()
ph = np.linspace(0.01, 0.99, 100)
plt.plot(ph, cs_rut(ph))
plt.plot(ph, cs_mono(ph))
#plt.figure()
#ph = np.linspace(0.01, 0.99, 100)
#plt.plot(ph, cs_rut(ph))
#plt.plot(ph, cs_mono(ph))
time = np.linspace(0.01, 3, 1000)
phy_phase = np.exp(-time)
rut_phase = cs_rut(phy_phase)
mono_phase = cs_mono(phy_phase)
plt.figure()
plt.plot(time, phy_phase, "k:", label="corr.")
plt.plot(time, rut_phase, label="rut.")
plt.plot(time, mono_phase, label="mono")
plt.xlabel("time (a.u.)")
plt.ylabel("Metallic Phase (%)")
plt.legend()
plt.tight_layout()
plt.savefig("timescale.png")
plt.savefig("timescale.pdf")
ax.plot(time, phy_phase, "k:", label="physical")
ax.plot(time, rut_phase, label="rutile")
ax.plot(time, mono_phase, label="monoclinic")
ax.set_xlabel("time (a.u.)")
ax.set_ylabel("Metallic Phase (%)")
ax.legend()
def read_file(file):
@ -118,11 +110,29 @@ def read_file(file):
o = files["o"]
return p, o
def intens(ax, file, p, o):
intens = FFT()
intens.load(file)
plot(intens, ax)
ax.set_xlim([-.8,0.8])
ax.set_ylim([-.8,1.6])
axins = ax.inset_axes([0.0, 0.5, 0.47, 0.5])
axins.plot(p, o[0], label="rut")
axins.plot(p, o[3], label="diff")
axins.plot(p, o[2], label="mono")
axins.legend(loc='lower left', bbox_to_anchor=(1, 0.5))
#axins.get_yaxis().set_visible(False)
axins.yaxis.tick_right()
axins.set_yticks([0,0.5]
if __name__ == "__main__":
p, o = merge(sys.argv[1:])
p, o = merge(sys.argv[2:])
np.savez("merged.npz", p=p, o=o)
# eval_data_print(f)
stacked_plot(p, o)
time_scale(p, o)
fig, axs = plt.subplots(1,3)
fig.set_figheight(3)
stacked_plot(axs[1],p, o)
time_scale(axs[2],p, o)
intens(axs[0], sys.argv[1], p ,o)
plt.tight_layout()
plt.show()

View File

@ -5,8 +5,8 @@ from spin_image import SpinImage, FFT
import numpy as np
import matplotlib.pyplot as plt
plt.style.use(["style", "colors","two_column"])
if __name__ == "__main__":
plt.style.use(["style", "colors","two_column"])
def simulate():