| 1152 | return (linewidths * math.ceil(Nlev / len(linewidths)))[:Nlev] |
| 1153 | |
| 1154 | def _process_linestyles(self, linestyles): |
| 1155 | Nlev = len(self.levels) |
| 1156 | if linestyles is None: |
| 1157 | tlinestyles = ['solid'] * Nlev |
| 1158 | if self.monochrome: |
| 1159 | eps = - (self.zmax - self.zmin) * 1e-15 |
| 1160 | for i, lev in enumerate(self.levels): |
| 1161 | if lev < eps: |
| 1162 | tlinestyles[i] = self.negative_linestyles |
| 1163 | else: |
| 1164 | if isinstance(linestyles, str): |
| 1165 | tlinestyles = [linestyles] * Nlev |
| 1166 | elif np.iterable(linestyles): |
| 1167 | tlinestyles = list(linestyles) |
| 1168 | if len(tlinestyles) < Nlev: |
| 1169 | nreps = int(np.ceil(Nlev / len(linestyles))) |
| 1170 | tlinestyles = tlinestyles * nreps |
| 1171 | if len(tlinestyles) > Nlev: |
| 1172 | tlinestyles = tlinestyles[:Nlev] |
| 1173 | else: |
| 1174 | raise ValueError("Unrecognized type for linestyles kwarg") |
| 1175 | return tlinestyles |
| 1176 | |
| 1177 | def _find_nearest_contour(self, xy, indices=None): |
| 1178 | """ |