@@ -39,37 +39,42 @@ def __init__(self):
3939 self .is_frozen = False
4040 self .opt = None
4141
42- def __repr__ (self ):
42+ def _get_name (self ):
43+ """Return the display name for this distribution."""
4344 name = self .__class__ .__name__
4445 if name in ["Truncated" , "Censored" , "Hurdle" ]:
4546 name += self .dist .__class__ .__name__
4647 if name == "Mixture" :
47- name = (
48- "Mixture"
49- + "" .join (dict .fromkeys (dist .__class__ .__name__ for dist in self .dist ))
50- + "\n "
48+ name = "Mixture" + "" .join (dict .fromkeys (dist .__class__ .__name__ for dist in self .dist ))
49+ return name
50+
51+ def _get_description (self ):
52+ """Return a string of parameters, or empty string if not frozen."""
53+ if not self .is_frozen :
54+ return ""
55+ return "" .join (
56+ (
57+ f"{ n } ={ v :.3g} , "
58+ if np .isscalar (v ) or np .ndim (v ) == 0
59+ else f"{ n } =["
60+ + "" .join (f"{ vi :.3g} , " for vi in np .atleast_1d (v )).strip (", " )
61+ + "], "
5162 )
63+ for n , v in zip (self .param_names , self .params )
64+ ).strip (", " )
5265
66+ def __repr__ (self ):
67+ name = self ._get_name ()
5368 if self .is_frozen :
54- if "Mixture" in name :
55- bolded_name = "\033 [1m" + name .strip () + "\033 [0m" + "\n "
56- else :
57- bolded_name = "\033 [1m" + name + "\033 [0m"
58-
59- description = "" .join (
60- (
61- f"{ n } ={ v :.3g} , "
62- if np .isscalar (v ) or np .ndim (v ) == 0
63- else f"{ n } =["
64- + "" .join (f"{ vi :.3g} , " for vi in np .atleast_1d (v )).strip (", " )
65- + "], "
66- )
67- for n , v in zip (self .param_names , self .params )
68- ).strip (", " )
69+ return f"{ name } ({ self ._get_description ()} )"
70+ return name
6971
70- return f"{ bolded_name } ({ description } )"
71- else :
72- return name
72+ def _repr_html_ (self ):
73+ name = self ._get_name ()
74+ if self .is_frozen :
75+ desc = self ._get_description ()
76+ return f"<span style='font-weight:bold'>{ name } </span><span'>({ desc } )</span>"
77+ return f"<span style='font-weight:bold'>{ name } </span>"
7378
7479 @property
7580 def params_dict (self ):
0 commit comments