@@ -204,6 +204,152 @@ def get_view_interval(self):
204204 yield _logfe_helper , formatter , base , locs , i , expected_result
205205
206206
207+ def _pprint_helper (value , domain , expected ):
208+ fmt = mticker .LogFormatter ()
209+ label = fmt .pprint_val (value , domain )
210+ nose .tools .assert_equal (label , expected )
211+
212+
213+ def test_logformatter_pprint ():
214+ test_cases = (
215+ (3.141592654e-05 , 0.001 , '3.142e-5' ),
216+ (0.0003141592654 , 0.001 , '3.142e-4' ),
217+ (0.003141592654 , 0.001 , '3.142e-3' ),
218+ (0.03141592654 , 0.001 , '3.142e-2' ),
219+ (0.3141592654 , 0.001 , '3.142e-1' ),
220+ (3.141592654 , 0.001 , '3.142' ),
221+ (31.41592654 , 0.001 , '3.142e1' ),
222+ (314.1592654 , 0.001 , '3.142e2' ),
223+ (3141.592654 , 0.001 , '3.142e3' ),
224+ (31415.92654 , 0.001 , '3.142e4' ),
225+ (314159.2654 , 0.001 , '3.142e5' ),
226+ (1e-05 , 0.001 , '1e-5' ),
227+ (0.0001 , 0.001 , '1e-4' ),
228+ (0.001 , 0.001 , '1e-3' ),
229+ (0.01 , 0.001 , '1e-2' ),
230+ (0.1 , 0.001 , '1e-1' ),
231+ (1 , 0.001 , '1' ),
232+ (10 , 0.001 , '10' ),
233+ (100 , 0.001 , '100' ),
234+ (1000 , 0.001 , '1000' ),
235+ (10000 , 0.001 , '1e4' ),
236+ (100000 , 0.001 , '1e5' ),
237+ (3.141592654e-05 , 0.015 , '0' ),
238+ (0.0003141592654 , 0.015 , '0' ),
239+ (0.003141592654 , 0.015 , '0.003' ),
240+ (0.03141592654 , 0.015 , '0.031' ),
241+ (0.3141592654 , 0.015 , '0.314' ),
242+ (3.141592654 , 0.015 , '3.142' ),
243+ (31.41592654 , 0.015 , '31.416' ),
244+ (314.1592654 , 0.015 , '314.159' ),
245+ (3141.592654 , 0.015 , '3141.593' ),
246+ (31415.92654 , 0.015 , '31415.927' ),
247+ (314159.2654 , 0.015 , '314159.265' ),
248+ (1e-05 , 0.015 , '0' ),
249+ (0.0001 , 0.015 , '0' ),
250+ (0.001 , 0.015 , '0.001' ),
251+ (0.01 , 0.015 , '0.01' ),
252+ (0.1 , 0.015 , '0.1' ),
253+ (1 , 0.015 , '1' ),
254+ (10 , 0.015 , '10' ),
255+ (100 , 0.015 , '100' ),
256+ (1000 , 0.015 , '1000' ),
257+ (10000 , 0.015 , '10000' ),
258+ (100000 , 0.015 , '100000' ),
259+ (3.141592654e-05 , 0.5 , '0' ),
260+ (0.0003141592654 , 0.5 , '0' ),
261+ (0.003141592654 , 0.5 , '0.003' ),
262+ (0.03141592654 , 0.5 , '0.031' ),
263+ (0.3141592654 , 0.5 , '0.314' ),
264+ (3.141592654 , 0.5 , '3.142' ),
265+ (31.41592654 , 0.5 , '31.416' ),
266+ (314.1592654 , 0.5 , '314.159' ),
267+ (3141.592654 , 0.5 , '3141.593' ),
268+ (31415.92654 , 0.5 , '31415.927' ),
269+ (314159.2654 , 0.5 , '314159.265' ),
270+ (1e-05 , 0.5 , '0' ),
271+ (0.0001 , 0.5 , '0' ),
272+ (0.001 , 0.5 , '0.001' ),
273+ (0.01 , 0.5 , '0.01' ),
274+ (0.1 , 0.5 , '0.1' ),
275+ (1 , 0.5 , '1' ),
276+ (10 , 0.5 , '10' ),
277+ (100 , 0.5 , '100' ),
278+ (1000 , 0.5 , '1000' ),
279+ (10000 , 0.5 , '10000' ),
280+ (100000 , 0.5 , '100000' ),
281+ (3.141592654e-05 , 5 , '0' ),
282+ (0.0003141592654 , 5 , '0' ),
283+ (0.003141592654 , 5 , '0' ),
284+ (0.03141592654 , 5 , '0.03' ),
285+ (0.3141592654 , 5 , '0.31' ),
286+ (3.141592654 , 5 , '3.14' ),
287+ (31.41592654 , 5 , '31.42' ),
288+ (314.1592654 , 5 , '314.16' ),
289+ (3141.592654 , 5 , '3141.59' ),
290+ (31415.92654 , 5 , '31415.93' ),
291+ (314159.2654 , 5 , '314159.27' ),
292+ (1e-05 , 5 , '0' ),
293+ (0.0001 , 5 , '0' ),
294+ (0.001 , 5 , '0' ),
295+ (0.01 , 5 , '0.01' ),
296+ (0.1 , 5 , '0.1' ),
297+ (1 , 5 , '1' ),
298+ (10 , 5 , '10' ),
299+ (100 , 5 , '100' ),
300+ (1000 , 5 , '1000' ),
301+ (10000 , 5 , '10000' ),
302+ (100000 , 5 , '100000' ),
303+ (3.141592654e-05 , 100 , '0' ),
304+ (0.0003141592654 , 100 , '0' ),
305+ (0.003141592654 , 100 , '0' ),
306+ (0.03141592654 , 100 , '0' ),
307+ (0.3141592654 , 100 , '0.3' ),
308+ (3.141592654 , 100 , '3.1' ),
309+ (31.41592654 , 100 , '31.4' ),
310+ (314.1592654 , 100 , '314.2' ),
311+ (3141.592654 , 100 , '3141.6' ),
312+ (31415.92654 , 100 , '31415.9' ),
313+ (314159.2654 , 100 , '314159.3' ),
314+ (1e-05 , 100 , '0' ),
315+ (0.0001 , 100 , '0' ),
316+ (0.001 , 100 , '0' ),
317+ (0.01 , 100 , '0' ),
318+ (0.1 , 100 , '0.1' ),
319+ (1 , 100 , '1' ),
320+ (10 , 100 , '10' ),
321+ (100 , 100 , '100' ),
322+ (1000 , 100 , '1000' ),
323+ (10000 , 100 , '10000' ),
324+ (100000 , 100 , '100000' ),
325+ (3.141592654e-05 , 1000000.0 , '3.1e-5' ),
326+ (0.0003141592654 , 1000000.0 , '3.1e-4' ),
327+ (0.003141592654 , 1000000.0 , '3.1e-3' ),
328+ (0.03141592654 , 1000000.0 , '3.1e-2' ),
329+ (0.3141592654 , 1000000.0 , '3.1e-1' ),
330+ (3.141592654 , 1000000.0 , '3.1' ),
331+ (31.41592654 , 1000000.0 , '3.1e1' ),
332+ (314.1592654 , 1000000.0 , '3.1e2' ),
333+ (3141.592654 , 1000000.0 , '3.1e3' ),
334+ (31415.92654 , 1000000.0 , '3.1e4' ),
335+ (314159.2654 , 1000000.0 , '3.1e5' ),
336+ (1e-05 , 1000000.0 , '1e-5' ),
337+ (0.0001 , 1000000.0 , '1e-4' ),
338+ (0.001 , 1000000.0 , '1e-3' ),
339+ (0.01 , 1000000.0 , '1e-2' ),
340+ (0.1 , 1000000.0 , '1e-1' ),
341+ (1 , 1000000.0 , '1' ),
342+ (10 , 1000000.0 , '10' ),
343+ (100 , 1000000.0 , '100' ),
344+ (1000 , 1000000.0 , '1000' ),
345+ (10000 , 1000000.0 , '1e4' ),
346+ (100000 , 1000000.0 , '1e5' )
347+ )
348+
349+ for value , domain , expected in test_cases :
350+ yield _pprint_helper , value , domain , expected
351+
352+
207353def test_use_offset ():
208354 for use_offset in [True , False ]:
209355 with matplotlib .rc_context ({'axes.formatter.useoffset' : use_offset }):
0 commit comments