Skip to content

Commit cde658f

Browse files
committed
fix bug for the legend_list when all annotations are None
1 parent 330ad21 commit cde658f

File tree

2 files changed

+58
-33
lines changed

2 files changed

+58
-33
lines changed

PyComplexHeatmap/clustermap.py

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2291,12 +2291,12 @@ def set_xy_labels(self):
22912291
) # ax.xaxis.label.get_bbox_patch().properties()
22922292

22932293
def get_legend_list(self):
2294-
if len(self.legend_dict) > 1 and self.legend_order in [True, "auto"]:
2294+
if len(self.legend_dict) >= 1 and self.legend_order in [True, "auto"]:
22952295
self.legend_list = [self.legend_dict[k] for k in self.legend_dict.keys()]
22962296
self.legend_list = sorted(self.legend_list, key=lambda x: x[3])
2297-
elif len(self.legend_dict) > 1 and isinstance(self.legend_order, (list, tuple)):
2297+
elif len(self.legend_dict) >= 1 and isinstance(self.legend_order, (list, tuple)):
22982298
self.legend_list = [self.legend_dict[k] for k in self.legend_order if k in self.legend_dict]
2299-
elif len(self.legend_dict) > 1:
2299+
elif len(self.legend_dict) >= 1:
23002300
self.legend_list = [self.legend_dict[k] for k in self.legend_dict.keys()]
23012301
else:
23022302
self.legend_list = []
@@ -2594,23 +2594,24 @@ def composite(
25942594
)
25952595
if w > label_max_width:
25962596
label_max_width = w
2597-
if len(legend_list) == 0:
2598-
return None
2599-
legend_list = sorted(legend_list, key=lambda x: x[3])
2600-
if legend_hpad is None:
2601-
space = col_gap * mm2inch * ax.figure.dpi + label_max_width
2597+
if len(legend_list) > 0:
2598+
legend_list = sorted(legend_list, key=lambda x: x[3])
2599+
if legend_hpad is None:
2600+
space = col_gap * mm2inch * ax.figure.dpi + label_max_width
2601+
else:
2602+
space = legend_hpad * ax.figure.dpi / 72
2603+
legend_axes, cbars, boundry = plot_legend_list(
2604+
legend_list,
2605+
ax=ax,
2606+
space=space,
2607+
legend_side=legend_side,
2608+
gap=legend_gap,
2609+
y0=legend_y,
2610+
legend_width=legend_width,
2611+
verbose=verbose
2612+
)
26022613
else:
2603-
space = legend_hpad * ax.figure.dpi / 72
2604-
legend_axes, cbars, boundry = plot_legend_list(
2605-
legend_list,
2606-
ax=ax,
2607-
space=space,
2608-
legend_side=legend_side,
2609-
gap=legend_gap,
2610-
y0=legend_y,
2611-
legend_width=legend_width,
2612-
verbose=verbose
2613-
)
2614+
legend_axes=None
26142615
# ax.set_axis_off()
26152616
despine(ax=ax, left=True, bottom=True, top=True, right=True)
26162617
ax.tick_params(

notebooks/composite_heatmaps.ipynb

Lines changed: 38 additions & 14 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)