def handle_colorstop_changed(self, config_widget): if config_widget.valid: reordered = sorted(self.stop_vbox.get_children(), key=lambda cs: cs.get_offset()) gradient = Gradient() for i, cs_config in enumerate(reordered): self.stop_vbox.reorder_child(cs_config, i) offset, color = cs_config.get_colorstop() if color is not None: gradient.add_colorstop(offset, color) self.option.value = gradient self.preview.set_gradient(gradient) self.emit('changed')
def print_matrix(self, vnames, matrix, latex_map=None): 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 build_matrix(self, vnames, matrix, latex_map=None): """build latex correlation matrix""" #ret_link = '<a onclick="$(\'#%s\').toggle()" href="#">Show Latex</a>'%uid headers = ['']+list(vnames) data = [] color = {} for i, v1 in enumerate(vnames): tmp = [v1] for j, v2 in enumerate(vnames): m = matrix[i][j] tmp.append(m) color[(i+1, j+1)] = Gradient.color_for(abs(m)) # +1 for header on the side and top data.append(tmp) table = LatexTable(headers=headers, data=data, rotate_header=True, latex_map=latex_map) table.float_format = '%3.2f' for (i, j), c in color.items(): table.set_cell_color(i, j, c) return table
def parse_str(self, string): return Gradient.from_str(string.strip())