def mplot(sage_plot, equal_scale=False, edit_res=False): """ This function convert sage_plot, created at sage, in matplotlib graph. """ plt.clf() fig = plt.figure() ax = SubplotZero(fig, 111) fig.add_subplot(ax) L = sage_plot.matplotlib().gca().lines for t in L: data = t.get_data() ax.add_line(mpl.lines.Line2D(data[0], data[1])) ax.autoscale_view() if equal_scale: ax.axis('equal') for direction in ["xzero", "yzero"]: ax.axis[direction].set_axisline_style("-|>", size=2) ax.axis[direction].set_visible(True) for direction in ["left", "right", "bottom", "top"]: ax.axis[direction].set_visible(False) ax.axis["yzero"].set_axis_direction("left") ax.minorticks_on() ax.grid() if edit_res: return (fig) else: plt.savefig('') plt.show() plt.close()
def run(self, results): par = self.getValueOfParameter("parameter") i = int(self.getValueOfParameter("iteration number")) title = self.getValueOfParameter("title") if(par==""): return False if(i >= results.__len__()): return False dialogform = Dialog(QApplication.activeWindow()) fig = Figure((5.0, 4.0), dpi=100) ax = SubplotZero(fig, 1, 1, 1) fig.add_subplot(ax) for n in ["top", "right"]: ax.axis[n].set_visible(False) for n in ["bottom", "left"]: ax.axis[n].set_visible(True) x = results[i].getResults(par) if(not(x.__len__())): return False ax.hist(x, 100, normed=1) ax.set_xlabel('Error') ax.set_ylabel('Probability') ax.grid(True) ax.set_title(title) dialogform.showFigure(fig) return True
fig.add_subplot(ax2) # for direction in ["xzero", "yzero"]: ax2.axis[direction].set_axisline_style("-|>") ax2.axis[direction].set_visible(True) # for direction in ["left", "right", "bottom", "top"]: ax2.axis[direction].set_visible(False) ax2.set_aspect('equal') ax2.set_xlim(Sig_min, Sig_max) ax2.set_ylim(-(Sig_max-Sig_min)/2, (Sig_max-Sig_min)/2) ax2.text(0., 1.05, '$\sigma_{nt}$',size=20, transform=BlendedGenericTransform(ax2.transData, ax2.transAxes)) ax2.text(1.05, -0.15, '$\sigma_{nn}$',size=20, transform=BlendedGenericTransform(ax2.transAxes, ax2.transData)) ax2.grid() mohr_circle, = ax2.plot([], [], '.r',label='Etat de contrainte', markersize=2) ax2.legend() # ######################## def Snn_Snt_decomposition (Sigma, n) : # Check that norm of n is one n=n/np.linalg.norm(n) # Flux stress vectir phi=np.dot(Sigma,n) # Normal stress component
from numpy import * import matplotlib.pyplot as plt from mpl_toolkits.axes_grid.axislines import SubplotZero x = linspace(-5 * pi, 5 * pi, 500) y = (sin(x) / x)**2 fig = plt.figure(figsize=(8, 4)) ax = SubplotZero(fig, 111) fig.add_subplot(ax) ax.grid(True) ax.set_xticks([ -5 * pi, -4 * pi, -3 * pi, -2 * pi, -pi, 0, pi, 2 * pi, 3 * pi, 4 * pi, 5 * pi ]) ax.set_xticklabels([ "$-5 \pi$", "$-4 \pi$", "$-3 \pi$", "$-2 \pi$", "$- \pi$", "0", "$\pi$", "$2 \pi$", "$3 \pi$", "$4 \pi$", "$5 \pi$" ]) ax.set_ylim((-.3, 1.2)) ax.set_yticklabels([]) for direction in ["xzero", "yzero"]: ax.axis[direction].set_axisline_style("->") ax.axis[direction].set_visible(True) for direction in ["left", "right", "bottom", "top"]: ax.axis[direction].set_visible(False) ax.plot(x, y, label=r"$sinc^{2} \ x$", color="k", linewidth=3, alpha=0.8) ax.text(5.5 * pi, 0., "x") ax.text(0.1, 1, "1") ax.legend() plt.tight_layout() plt.savefig("sinc.png")