Skip to content

Commit 6ca388b

Browse files
Make random colormap cyclic
1 parent 65b0aec commit 6ca388b

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

‎src/napari_label_focus/_utils.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,11 @@ def color_labels_layer_by_values(
8282
if colormap == "random":
8383
# Special case for random (not a matplotlib colormap)
8484
unique_plot_vals = np.unique(plot_vals)
85-
hue = np.random.random(len(unique_plot_vals))
85+
n_hue = 20 # 20 different hues cycle
86+
n_plot_vals = len(unique_plot_vals)
87+
reps = int(np.floor(n_plot_vals / n_hue))
88+
extra = n_plot_vals % n_hue
89+
hue = np.concat((np.tile(np.arange(n_hue) / n_hue, reps), np.arange(extra) / n_hue))
8690
hue_map = {val: h for val, h in zip(unique_plot_vals, hue)}
8791
hues = [hue_map[h] for h in plot_vals]
8892
saturation = np.ones(len(plot_vals))

0 commit comments

Comments
 (0)