| 1311 | |
| 1312 | class IntegerFormat: |
| 1313 | def __init__(self, data, sign='-'): |
| 1314 | if data.size > 0: |
| 1315 | data_max = np.max(data) |
| 1316 | data_min = np.min(data) |
| 1317 | data_max_str_len = len(str(data_max)) |
| 1318 | if sign == ' ' and data_min < 0: |
| 1319 | sign = '-' |
| 1320 | if data_max >= 0 and sign in "+ ": |
| 1321 | data_max_str_len += 1 |
| 1322 | max_str_len = max(data_max_str_len, |
| 1323 | len(str(data_min))) |
| 1324 | else: |
| 1325 | max_str_len = 0 |
| 1326 | self.format = f'{{:{sign}{max_str_len}d}}' |
| 1327 | |
| 1328 | def __call__(self, x): |
| 1329 | return self.format.format(x) |