def plotAllYields(self): fig, axs = plt.subplots(2, 3, figsize=(12, 8)) for n, ax in enumerate(axs.flatten()): yields = self.getYields(n) f.arrayPlot(yields, percentages=True, is_subplot=ax, title=f'{n} NWs') plt.show()
def plotAmountOverLimit(self, limit): """Plot the fraction of detected blobs with a diameter larger than the given limit, for each field.""" values = [] for field in self.fields: diameters = field.getDiameters() amount_over_limit = len([d for d in diameters if d > limit]) ratio = amount_over_limit / len(diameters) * 100 values.append(ratio) f.arrayPlot(values, percentages=True) plt.show()
def plotDisplacementStd(self, **kwargs): """Display a plot of the standard deviation of the blob displacement from lattice for each field.""" std_displacements = [ np.std(field.getDisplacementMagnitudes()) for field in self.fields ] plt = f.arrayPlot(std_displacements, **kwargs) plt.show()
def plotMedianDisplacements(self, **kwargs): """Display a plot of the median blob displacement from lattice for each field.""" median_displacements = [ np.median(field.getDisplacementMagnitudes()) for field in self.fields ] plt = f.arrayPlot(median_displacements, **kwargs) plt.show()
def plotAvgBlobs(self, **kwargs): """Display a plot of the average number of blobs per lattice point for each field.""" average_blobs = [ field.getBlobCount() / field.number_of_points for field in self.fields ] plt = f.arrayPlot(average_blobs, **kwargs) plt.show()
def plotMeanDisplacements(self, **kwargs): """Display a plot of the mean blob displacement from lattice for each field.""" mean_displacements = [ np.mean(field.getDisplacementMagnitudes()) for field in self.fields ] for i, d in enumerate(mean_displacements): print(i + 1, d) plt = f.arrayPlot(mean_displacements, **kwargs) plt.show()
def plotDisplacementMdev(self, **kwargs): """Display a plot of the median deviation from the median of the blob displacement from lattice for each field.""" mdevs = [] for field in self.fields: data = field.getDisplacementMagnitudes() d = np.abs(data - np.median(data)) mdev = np.median(d) mdevs.append(mdev) plt = f.arrayPlot(mdevs, **kwargs) plt.show()
def plotYield(self, n): """Display a plot of the yields of n nanowires per hole for each field.""" yields = self.getYields(n) title = str(n) + ' blobs' plt = f.arrayPlot(yields, title=title, percentages=True) plt.show()
def plotMedianDiameters(self, **kwargs): """Display a plot of the median blob diameter for each field.""" median_diameters = self.getMedianDiameters() plt = f.arrayPlot(median_diameters, **kwargs) plt.show()