@@ -159,20 +159,28 @@ def test_SymmetricalLogLocator_set_params():
159
159
nose .tools .assert_equal (sym .numticks , 8 )
160
160
161
161
162
+ def _logfe_helper (formatter , base , locs , i , expected_result ):
163
+ vals = base ** locs
164
+ labels = [formatter (x , pos ) for (x , pos ) in zip (vals , i )]
165
+ nose .tools .assert_equal (labels , expected_result )
166
+
167
+
162
168
def test_LogFormatterExponent ():
163
169
class FakeAxis (object ):
164
170
"""Allow Formatter to be called without having a "full" plot set up."""
171
+ def __init__ (self , vmin = 1 , vmax = 10 ):
172
+ self .vmin = vmin
173
+ self .vmax = vmax
174
+
165
175
def get_view_interval (self ):
166
- return 1 , 10
176
+ return self . vmin , self . vmax
167
177
168
178
i = np .arange (- 3 , 4 , dtype = float )
169
179
expected_result = ['-3' , '-2' , '-1' , '0' , '1' , '2' , '3' ]
170
- for base in [2 , 5 , 10 , np .pi , np .e ]:
180
+ for base in [2 , 5.0 , 10.0 , np .pi , np .e ]:
171
181
formatter = mticker .LogFormatterExponent (base = base )
172
- formatter .axis = FakeAxis ()
173
- vals = base ** i
174
- labels = [formatter (x , pos ) for (x , pos ) in zip (vals , i )]
175
- nose .tools .assert_equal (labels , expected_result )
182
+ formatter .axis = FakeAxis (1 , base ** 4 )
183
+ yield _logfe_helper , formatter , base , i , i , expected_result
176
184
177
185
# Should be a blank string for non-integer powers if labelOnlyBase=True
178
186
formatter = mticker .LogFormatterExponent (base = 10 , labelOnlyBase = True )
@@ -185,10 +193,15 @@ def get_view_interval(self):
185
193
expected_result = ['0.1' , '1e-05' , '3.14' , '0.2' , '-0.2' , '-1e-05' ]
186
194
for base in [2 , 5 , 10 , np .pi , np .e ]:
187
195
formatter = mticker .LogFormatterExponent (base , labelOnlyBase = False )
188
- formatter .axis = FakeAxis ()
189
- vals = base ** locs
190
- labels = [formatter (x , pos ) for (x , pos ) in zip (vals , i )]
191
- nose .tools .assert_equal (labels , expected_result )
196
+ formatter .axis = FakeAxis (1 , base ** 10 )
197
+ yield _logfe_helper , formatter , base , locs , i , expected_result
198
+
199
+ expected_result = ['3' , '5' , '12' , '42' ]
200
+ locs = np .array ([3 , 5 , 12 , 42 ], dtype = 'float' )
201
+ for base in [2 , 5.0 , 10.0 , np .pi , np .e ]:
202
+ formatter = mticker .LogFormatterExponent (base , labelOnlyBase = False )
203
+ formatter .axis = FakeAxis (1 , base ** 50 )
204
+ yield _logfe_helper , formatter , base , locs , i , expected_result
192
205
193
206
194
207
def test_use_offset ():
0 commit comments