MCPcopy Index your code
hub / github.com/matplotlib/matplotlib / __call__

Method __call__

lib/mpl_toolkits/axisartist/angle_helper.py:221–288  ·  view source on GitHub ↗
(self, direction, factor, values)

Source from the content-addressed store, hash-verified

219 return factor, number_fraction
220
221 def __call__(self, direction, factor, values):
222 if len(values) == 0:
223 return []
224
225 ss = np.sign(values)
226 signs = ["-" if v < 0 else "" for v in values]
227
228 factor, number_fraction = self._get_number_fraction(factor)
229
230 values = np.abs(values)
231
232 if number_fraction is not None:
233 values, frac_part = divmod(values, 10 ** number_fraction)
234 frac_fmt = "%%0%dd" % (number_fraction,)
235 frac_str = [frac_fmt % (f1,) for f1 in frac_part]
236
237 if factor == 1:
238 if number_fraction is None:
239 return [self.fmt_d % (s * int(v),) for s, v in zip(ss, values)]
240 else:
241 return [self.fmt_ds % (s * int(v), f1)
242 for s, v, f1 in zip(ss, values, frac_str)]
243 elif factor == 60:
244 deg_part, min_part = divmod(values, 60)
245 if number_fraction is None:
246 return [self.fmt_d_m % (s1, d1, m1)
247 for s1, d1, m1 in zip(signs, deg_part, min_part)]
248 else:
249 return [self.fmt_d_ms % (s, d1, m1, f1)
250 for s, d1, m1, f1
251 in zip(signs, deg_part, min_part, frac_str)]
252
253 elif factor == 3600:
254 if ss[-1] == -1:
255 inverse_order = True
256 values = values[::-1]
257 signs = signs[::-1]
258 else:
259 inverse_order = False
260
261 l_hm_old = ""
262 r = []
263
264 deg_part, min_part_ = divmod(values, 3600)
265 min_part, sec_part = divmod(min_part_, 60)
266
267 if number_fraction is None:
268 sec_str = [self.fmt_s_partial % (s1,) for s1 in sec_part]
269 else:
270 sec_str = [self.fmt_ss_partial % (s1, f1)
271 for s1, f1 in zip(sec_part, frac_str)]
272
273 for s, d1, m1, s1 in zip(signs, deg_part, min_part, sec_str):
274 l_hm = self.fmt_d_m_partial % (s, d1, m1)
275 if l_hm != l_hm_old:
276 l_hm_old = l_hm
277 l = l_hm + s1
278 else:

Callers

nothing calls this directly

Calls 2

_get_number_fractionMethod · 0.95
signMethod · 0.80

Tested by

no test coverage detected