def fish_colors(n=4, colorPal=1):
    """Pick colors

    Parameters
    ----------
    n : int
        number of colors return, default: 4
        
    colorPal : int or str
        choose the group of colors, 1 to N, or the name of fish
        candidate list: [1, 2, 3, 'Scarus_hoefleri', 'Gramma_loreto',
        'Centropyge_loricula'], default: [1]

    # colors from fishualize R package
    # https://nschiett.github.io/fishualize/articles/overview_colors.html

    Colors from R package: 
    > fishualize::fish_pal(option = "Scarus_hoefleri")(10)
     [1] "#D2372CFF" "#E25719FF" "#F0780BFF" "#F89814FF"
     [5] "#EFB52BFF" "#C6CB43FF" "#7AD45CFF" "#00CE7DFF"
     [9] "#00BCABFF" "#0499EAFF"

    > fishualize::fish_pal(option = "Gramma_loreto")(10)
     [1] "#020122FF" "#1E2085FF" "#4029CBFF"
     [4] "#6628EEFF" "#901CEDFF" "#B804CAFF"
     [7] "#D61693FF" "#E6445DFF" "#EE7A30FF"
    [10] "#F0BF0BFF"

    > fishualize::fish_pal(option = "Centropyge_loricula")(10)
     [1] "#8F1D1EFF" "#B30029FF" "#DF002AFF"
     [4] "#FF7D1AFF" "#FFBD17FF" "#E7BE5AFF"
     [7] "#988591FF" "#0043A0FF" "#001A72FF"
    [10] "#000000FF"
    """
    # pre-defined colors
    c1 = ['#D2372C', '#E25719', '#F0780B', '#F89814', '#EFB52B', 
        '#C6CB43', '#7AD45C', '#00CE7D', '#00BCAB', '#0499EA']
    c2 = ['#020122', '#1E2085', '#4029CB', '#6628EE', '#901CED', 
        '#B804CA', '#D61693', '#E6445D', '#EE7A30', '#F0BF0B']
    c3 = ['#8F1D1E', '#B30029', '#DF002A', '#FF7D1A', '#FFBD17', 
        '#E7BE5A', '#988591', '#0043A0', '#001A72', '#000000']
    # RGB (10 colors, repeat twice, 20 items)
    color_d = {
        'Scarus_hoefleri': c1*2,
        'Gramma_loreto': c2*2,
        'Centropyge_loricula': c3*2,
    }
    # get the fish_list
    fish_list = list(color_d.keys())
    # determine the fish (colorBy)
    if isinstance(colorPal, int):
        colorPal = colorPal - 1 # to 0-indexed
        if not colorPal in range(len(fish_list)):
            colorPal = 0
        fish = fish_list[colorPal]
    elif isinstance(colorPal, str):
        fish = colorPal if colorPal in color_d else 'Scarus_hoefleri'
    else:
        fish = 'Scarus_hoefleri'
    # output colors
    return color_d.get(fish, c1)[:n]