Esempio n. 1
0
def matrix(m):
    is_correlation = True
    for i in range(len(m)):
        if m[i][i] != 1.0:
            is_correlation = False
            break

    if not is_correlation:
        n = len(m)
        args = []
        for mi in m:
            for mj in mi:
                args.append(mj)
        nums = format_numbers(*args)

    s = Html()
    with table(s):
        with tr(s):
            s += "<td/>\n"
            for v in m.names:
                with th(s):
                    s += v
        for i, v in enumerate(m.names):
            with tr(s):
                with th(s):
                    s += v
                for j in range(len(m.names)):
                    val = m[i][j]
                    if is_correlation:
                        if i == j:
                            with td(s):
                                s += " 1.00"
                        else:
                            color = Gradient.rgb_color_for(val)
                            with td(s, style="background-color:" + color):
                                s += "%5.2f" % val
                    else:
                        if i == j:
                            with td(s):
                                s += nums[n * i + j]
                        else:
                            color = Gradient.rgb_color_for(
                                val / (m[i][i] * m[j][j])**0.5)
                            with td(s, style="background-color:" + color):
                                s += nums[n * i + j]

    return str(s)
Esempio n. 2
0
def matrix(m):
    is_correlation = True
    for i in range(len(m)):
        if m[i][i] != 1.0:
            is_correlation = False
            break

    if not is_correlation:
        n = len(m)
        args = []
        for mi in m:
            for mj in mi:
                args.append(mj)
        nums = format_numbers(*args)

    s = Html()
    with table(s):
        with tr(s):
            s += "<td/>\n"
            for v in m.names:
                with th(s):
                    s += v
        for i, v in enumerate(m.names):
            with tr(s):
                with th(s):
                    s += v
                for j in range(len(m.names)):
                    val = m[i][j]
                    if is_correlation:
                        if i == j:
                            with td(s):
                                s += "1.00"                        
                        else:
                            color = Gradient.rgb_color_for(val)
                            with td(s, style="background-color:"+color):
                                s += "%.2f" % val
                    else:
                        if i == j:
                            with td(s):
                                s += nums[n*i + j]
                        else:
                            color = Gradient.rgb_color_for(val / (m[i][i] * m[j][j]) ** 0.5)
                            with td(s, style="background-color:"+color):
                                s += nums[n*i + j]

    return str(s)
Esempio n. 3
0
 def print_matrix(self, vnames, matrix, latex_map=None):
     from IPython.core.display import display_html
     latexuid = randid()
     latextable = LatexFactory.build_matrix(vnames,
                                            matrix,
                                            latex_map=latex_map)
     to_print = """
         <table>
             <tr>
                 <td>%s</td>
     """ % self.toggle_sign(latexuid)
     for v in vnames:
         to_print += """
         <td>
         <div style="width:20px;position:relative; width: -moz-fit-content;">
         <div style="display:inline-block;-webkit-writing-mode:vertical-rl;-moz-writing-mode: vertical-rl;writing-mode: vertical-rl;">
         {v}
         </div>
         </div>
         </td>
         """.format(**locals())
     to_print += """
             </tr>
             """
     for i, v1 in enumerate(vnames):
         to_print += """
         <tr>
             <td>{v1}</td>
         """.format(**locals())
         for j, v2 in enumerate(vnames):
             val = matrix[i][j]
             color = Gradient.rgb_color_for(val)
             to_print += """
             <td style="background-color:{color}">
             {val:3.2f}
             </td>
             """.format(**locals())
         to_print += """
         </tr>
         """
     to_print += '</table>\n'
     to_print += self.hidden_table(str(latextable), latexuid)
     display_html(to_print, raw=True)
Esempio n. 4
0
 def print_matrix(self, vnames, matrix, latex_map=None):
     from IPython.core.display import display_html
     latexuid = randid()
     latextable = LatexFactory.build_matrix(vnames, matrix,
                                            latex_map=latex_map)
     to_print = """
         <table>
             <tr>
                 <td>%s</td>
     """ % self.toggle_sign(latexuid)
     for v in vnames:
         to_print += """
         <td>
         <div style="width:20px;position:relative; width: -moz-fit-content;">
         <div style="display:inline-block;-webkit-writing-mode:vertical-rl;-moz-writing-mode: vertical-rl;writing-mode: vertical-rl;">
         {v}
         </div>
         </div>
         </td>
         """.format(**locals())
     to_print += """
             </tr>
             """
     for i, v1 in enumerate(vnames):
         to_print += """
         <tr>
             <td>{v1}</td>
         """.format(**locals())
         for j, v2 in enumerate(vnames):
             val = matrix[i][j]
             color = Gradient.rgb_color_for(val)
             to_print += """
             <td style="background-color:{color}">
             {val:3.2f}
             </td>
             """.format(**locals())
         to_print += """
         </tr>
         """
     to_print += '</table>\n'
     to_print += self.hidden_table(str(latextable), latexuid)
     display_html(to_print, raw=True)
Esempio n. 5
0
 def print_matrix(self, vnames, matrix, latex_map=None):
     latexuid = randid(self.rng)
     latextable = LatexFactory.build_matrix(vnames,
                                            matrix,
                                            latex_map=latex_map)
     to_print = """<table>
 <tr>
     <td>%s</td>""" % self.toggle_sign(latexuid)
     for v in vnames:
         to_print += " <td>{v}</td>".format(**locals())
     to_print += "\n    </tr>\n"
     for i, v1 in enumerate(vnames):
         to_print += """    <tr>
     <td>{v1}</td>""".format(**locals())
         for j, v2 in enumerate(vnames):
             val = matrix[i][j]
             color = Gradient.rgb_color_for(val)
             to_print += r""" <td style="background-color:{color}">{val:3.2f}</td>""".format(
                 **locals())
         to_print += "\n    </tr>\n"
     to_print += '</table>\n'
     to_print += self.hidden_table(str(latextable), latexuid)
     self.display(to_print)