Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5d25792

Browse files
committed
Let Formatters format all ticks at once.
This is useful especially when labels are interdependent (e.g.ConciseDateFormatter, but also LogFormatter which currently relies onset_locs, etc.).Because `set_major_formatter`/`set_minor_formatter` (somewhat unusually)enforces that its argument is a Formatter subclass, even third-partyformatters will inherit from the base class and have this methoddefined.
1 parent4cab2ec commit5d25792

File tree

4 files changed

+22
-28
lines changed

4 files changed

+22
-28
lines changed

‎lib/matplotlib/axis.py

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -940,24 +940,18 @@ def iter_ticks(self):
940940
"""
941941
Iterate through all of the major and minor ticks.
942942
"""
943-
majorLocs=self.major.locator()
944-
majorTicks=self.get_major_ticks(len(majorLocs))
945-
self.major.formatter.set_locs(majorLocs)
946-
majorLabels= [self.major.formatter(val,i)
947-
fori,valinenumerate(majorLocs)]
948-
949-
minorLocs=self.minor.locator()
950-
minorTicks=self.get_minor_ticks(len(minorLocs))
951-
self.minor.formatter.set_locs(minorLocs)
952-
minorLabels= [self.minor.formatter(val,i)
953-
fori,valinenumerate(minorLocs)]
954-
955-
major_minor= [
956-
(majorTicks,majorLocs,majorLabels),
957-
(minorTicks,minorLocs,minorLabels)]
958-
959-
forgroupinmajor_minor:
960-
yieldfromzip(*group)
943+
major_locs=self.major.locator()
944+
major_ticks=self.get_major_ticks(len(major_locs))
945+
self.major.formatter.set_locs(major_locs)
946+
major_labels=self.major.formatter.format_ticks(major_locs)
947+
948+
minor_locs=self.minor.locator()
949+
minor_ticks=self.get_minor_ticks(len(minor_locs))
950+
self.minor.formatter.set_locs(minor_locs)
951+
minor_labels=self.minor.formatter.format_ticks(minor_locs)
952+
953+
yieldfromzip(major_ticks,major_locs,major_labels)
954+
yieldfromzip(minor_ticks,minor_locs,minor_labels)
961955

962956
defget_ticklabel_extents(self,renderer):
963957
"""

‎lib/matplotlib/colorbar.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -765,7 +765,7 @@ def _ticker(self, locator, formatter):
765765
self._manual_tick_data_values=b
766766
ticks=self._locate(b)
767767
formatter.set_locs(b)
768-
ticklabels=[formatter(t,i)fori,tinenumerate(b)]
768+
ticklabels=formatter.format_ticks(b)
769769
offset_string=formatter.get_offset()
770770
returnticks,ticklabels,offset_string
771771

‎lib/matplotlib/ticker.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,10 @@ def __call__(self, x, pos=None):
253253
"""
254254
raiseNotImplementedError('Derived must override')
255255

256+
defformat_ticks(self,values):
257+
"""Return the tick labels for all the ticks at once."""
258+
return [self(value,i)fori,valueinenumerate(values)]
259+
256260
defformat_data(self,value):
257261
"""
258262
Returns the full string representation of the value with the
@@ -291,7 +295,7 @@ def fix_minus(self, s):
291295
returns
292296

293297
def_set_locator(self,locator):
294-
"""Subclasses may want to override this to set a locator."""
298+
"""Subclasses may want to override this to set a locator."""
295299
pass
296300

297301

‎lib/mpl_toolkits/axisartist/axislines.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -226,14 +226,12 @@ def get_tick_iterators(self, axes):
226226
major=self.axis.major
227227
majorLocs=major.locator()
228228
major.formatter.set_locs(majorLocs)
229-
majorLabels= [major.formatter(val,i)
230-
fori,valinenumerate(majorLocs)]
229+
majorLabels=major.formatter.format_ticks(majorLocs)
231230

232231
minor=self.axis.minor
233232
minorLocs=minor.locator()
234233
minor.formatter.set_locs(minorLocs)
235-
minorLabels= [minor.formatter(val,i)
236-
fori,valinenumerate(minorLocs)]
234+
minorLabels=minor.formatter.format_ticks(minorLocs)
237235

238236
trans_tick=self.get_tick_transform(axes)
239237

@@ -323,14 +321,12 @@ def get_tick_iterators(self, axes):
323321
major=self.axis.major
324322
majorLocs=major.locator()
325323
major.formatter.set_locs(majorLocs)
326-
majorLabels= [major.formatter(val,i)
327-
fori,valinenumerate(majorLocs)]
324+
majorLabels=major.formatter.format_ticks(majorLocs)
328325

329326
minor=self.axis.minor
330327
minorLocs=minor.locator()
331328
minor.formatter.set_locs(minorLocs)
332-
minorLabels= [minor.formatter(val,i)
333-
fori,valinenumerate(minorLocs)]
329+
minorLabels=minor.formatter.format_ticks(minorLocs)
334330

335331
tr2ax=axes.transData+axes.transAxes.inverted()
336332

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp