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

Commitd29e9dc

Browse files
committed
Fix TransformedBbox.{,full_}contains.
... by checking whether the inverse-transformed the query point is inthe untransformed bbox.
1 parent10e8bf1 commitd29e9dc

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

‎lib/matplotlib/tests/test_transforms.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
importmatplotlib.pyplotasplt
1010
importmatplotlib.patchesasmpatches
1111
importmatplotlib.transformsasmtransforms
12+
frommatplotlib.transformsimportAffine2D,Bbox,TransformedBbox
1213
frommatplotlib.pathimportPath
1314
frommatplotlib.testing.decoratorsimportimage_comparison,check_figures_equal
1415

@@ -744,3 +745,14 @@ def test_scale_swapping(fig_test, fig_ref):
744745
ax.plot(x,np.exp(-(x**2)/2)/np.sqrt(2*np.pi))
745746
fig.canvas.draw()
746747
ax.set_yscale('linear')
748+
749+
750+
deftest_transformedbbox_contains():
751+
bb=TransformedBbox(Bbox.unit(),Affine2D().rotate_deg(30))
752+
assertbb.contains(.8,.5)
753+
assertbb.contains(-.4,.85)
754+
assertnotbb.contains(.9,.5)
755+
bb=TransformedBbox(Bbox.unit(),Affine2D().translate(.25,.5))
756+
assertbb.contains(1.25,1.5)
757+
assertnotbb.fully_contains(1.25,1.5)
758+
assertnotbb.fully_contains(.1,.1)

‎lib/matplotlib/transforms.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,6 +1138,14 @@ def get_points(self):
11381138
self._check(points)
11391139
returnpoints
11401140

1141+
defcontains(self,x,y):
1142+
# Docstring inherited.
1143+
returnself._bbox.contains(*self._transform.inverted().transform((x,y)))
1144+
1145+
deffully_contains(self,x,y):
1146+
# Docstring inherited.
1147+
returnself._bbox.fully_contains(*self._transform.inverted().transform((x,y)))
1148+
11411149

11421150
classLockableBbox(BboxBase):
11431151
"""

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp