marsilea.plotter.FixedChunk#
- class FixedChunk(texts, fill_colors=None, *, align=None, ratio=None, props=None, padding=8, underline=False, bordercolor=None, borderwidth=None, borderstyle=None, label=None, label_loc=None, label_props=None, **options)#
Bases:
_ChunkBaseMark groups with fixed order
- Parameters:
- textsarray of str
The label for each chunk
- fill_colorscolor, array of color
The color used as background color for each chunk
- ratioarray of int
To span chunks on more than one chunk.
- borderwidth, bordercolor, borderstyle
Control the style of border For borderstyle, see
linestyles- propsdict
- rotationfloat
How many to rotate the text
- paddingfloat
The buffer space between text and the adjcent plots, in points unit
- labelstr
The label of the plot
- label_loc{‘right’, ‘left’, ‘top’, ‘bottom’}
The location of the label
- label_propsdict
The label properties
See also
Examples
The fixed chunk will not be reordered by the cluster results.
>>> import marsilea as ma >>> from marsilea.plotter import FixedChunk >>> matrix = np.random.randn(20, 20) >>> h = ma.Heatmap(matrix) >>> chunk = ["C1", "C2", "C3", "C4"] >>> labels = np.random.choice(chunk, size=20) >>> h.group_rows(labels, order=chunk) >>> h.add_right(FixedChunk(chunk, bordercolor="gray"), pad=0.1) >>> h.add_dendrogram("left") >>> h.render()
You can span a chunk on more than one chunk.
>>> h = ma.Heatmap(matrix) >>> chunk = ["C1", "C2-1", "C2-2", "C4"] >>> labels = np.random.choice(chunk, size=20) >>> h.group_rows(labels, order=chunk) >>> h.add_right(FixedChunk(chunk, bordercolor="gray"), pad=0.1) >>> h.add_right( ... FixedChunk( ... ["C1", "C2", "C3"], ... fill_colors="red", ... ratio=[1, 2, 1], ... ), ... pad=0.1, ... ) >>> h.render()