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)
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)
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)
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)