@@ -204,6 +204,152 @@ def get_view_interval(self):
204
204
yield _logfe_helper , formatter , base , locs , i , expected_result
205
205
206
206
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
+
207
353
def test_use_offset ():
208
354
for use_offset in [True , False ]:
209
355
with matplotlib .rc_context ({'axes.formatter.useoffset' : use_offset }):
0 commit comments