def plot(self, **kwargs): if len(self.all_vars) == 1 and len(self.free_rvs) == 1: pfun = FunDistr(self.nddistr, breakPoints = self.nddistr.Vars[0].range()) pfun.plot(label = str(self.nddistr.Vars[0].getSymname()), **kwargs) legend() elif len(self.all_vars) == 2 and len(self.free_rvs) == 2: plot_2d_distr(self.nddistr, **kwargs) elif len(self.all_vars) == 2 and len(self.free_rvs) == 1: a, b = self.free_rvs[0].range() freesym = self.free_rvs[0].getSym() fun = my_lambdify(freesym, self.rv_to_equation[self.dep_rvs[0]], "numpy") ax = plot_1d1d_distr(self.nddistr, a, b, fun) ax.set_xlabel(self.free_rvs[0].getSymname()) ax.set_ylabel(self.dep_rvs[0].getSymname()) else: raise RuntimeError("Too many variables.")
def plot(self, **kwargs): if len(self.all_vars) == 1 and len(self.free_rvs) == 1: pfun = FunDistr(self.nddistr, breakPoints=self.nddistr.Vars[0].range()) pfun.plot(label=str(self.nddistr.Vars[0].getSymname()), **kwargs) legend() elif len(self.all_vars) == 2 and len(self.free_rvs) == 2: plot_2d_distr(self.nddistr, **kwargs) elif len(self.all_vars) == 2 and len(self.free_rvs) == 1: a, b = self.free_rvs[0].range() freesym = self.free_rvs[0].getSymname() fun = my_lambdify([freesym], self.rv_to_equation[self.dep_rvs[0]], "numpy") ax = plot_1d1d_distr(self.nddistr, a, b, fun) ax.set_xlabel(self.free_rvs[0].getSymname()) ax.set_ylabel(self.dep_rvs[0].getSymname()) elif len(self.all_vars) == 1 and len(self.free_rvs) == 0: DiracSegment(self.as_const(), 1).plot(**kwargs) else: raise RuntimeError("Too many variables.")
# funi.get_piecewise_cdf().plot(color="r") # funi.summary() # print "===============" # V= X-Y # cp = PiCopula(marginals=[X, Y]) # m = TwoVarsModel(cp, V) # fun = m.eval() # fun.summary() # fun.plot() # show() # 0/0 cij = IJthOrderStatsNDDistr(X, 8, 2, 7) X1, X2 = cij.Vars plot_2d_distr(cij) figure() X1.plot(color="r") X1.summary() X2.plot(color="g") X2.summary() V=X2-X1 print("p=", V.parents[1].getSym()) mR = TwoVarsModel(cij, V) funR = mR.eval() funR.summary() funR.plot(color="k")
# funi = Mi.eval() # funi.get_piecewise_cdf().plot(color="r") # funi.summary() # print "===============" # V= X-Y # cp = PiCopula(marginals=[X, Y]) # m = TwoVarsModel(cp, V) # fun = m.eval() # fun.summary() # fun.plot() # show() # 0/0 cij = IJthOrderStatsNDDistr(X, 8, 2, 7) X1, X2 = cij.Vars plot_2d_distr(cij) figure() X1.plot(color="r") X1.summary() X2.plot(color="g") X2.summary() V = X2 - X1 print "p=", V.parents[1].getSym() mR = TwoVarsModel(cij, V) funR = mR.eval() funR.summary() funR.plot(color="k")