Source code for pyleecan.Functions.Winding.gen_phase_list
# -*- coding: utf-8 -*-
from random import choice
import string
from ...definitions import config_dict
PHASE_COLORS = config_dict["PLOT"]["COLOR_DICT"]["PHASE_COLORS"]
[docs]def gen_color(N):
"""Generate a list of phase color
Parameters
----------
N : int
number of color to generate
Returns
-------
Color_list: list
A list of hexa representation of colors (str)
"""
color_list = PHASE_COLORS
if N < len(color_list):
return color_list[:N]
else:
Hexa = [
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"A",
"B",
"C",
"D",
"E",
"F",
]
for ii in range(N - len(color_list)):
color = "#"
for i in range(6):
color += choice(Hexa)
color_list.append(color)
return color_list
[docs]def gen_name(N, is_add_phase=False):
"""Generate a list of phase name
Parameters
----------
N : int
number of name the generate
is_add_phase : bool
True to add "Phase " in the resulting names
Returns
-------
Name_list: list
A list of phase name
"""
Alpha = string.ascii_uppercase
Name_list = list()
for i in range(N):
if is_add_phase:
name = "Phase "
else:
name = ""
if i // 26 > 0:
name += Alpha[(i // 26) - 1]
name += Alpha[i % 26]
Name_list.append(name)
return Name_list