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

Commit645dfc8

Browse files
Code review updates
1 parent1516928 commit645dfc8

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

‎lib/mpl_toolkits/mplot3d/art3d.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -180,10 +180,10 @@ def set_3d_properties(self, z=0, zdir='z', axlim_clip=False):
180180
defdraw(self,renderer):
181181
ifself._axlim_clip:
182182
mask=_viewlim_mask(self._x,self._y,self._z,self.axes)
183-
pos3d=np.ma.array((self._x,self._y,self._z),
184-
dtype=float,mask=mask).filled(np.nan)
183+
pos3d=np.array([self._x,self._y,self._z],dtype=float)
184+
pos3d[mask]=np.nan
185185
else:
186-
pos3d=np.asanyarray([self._x,self._y,self._z])
186+
pos3d=np.array([self._x,self._y,self._z])
187187

188188
proj=proj3d._proj_trans_points([pos3d,pos3d+self._dir_vec],self.axes.M)
189189
dx=proj[0][1]-proj[0][0]
@@ -465,7 +465,8 @@ def do_3d_projection(self):
465465
self.axes)
466466
ifnp.any(viewlim_mask):
467467
# broadcast mask to 3D
468-
viewlim_mask=viewlim_mask[...,np.newaxis].repeat(3,axis=-1)
468+
viewlim_mask=np.broadcast_to(viewlim_mask[...,np.newaxis],
469+
(*viewlim_mask.shape,3))
469470
mask=mask|viewlim_mask
470471
xyzs=np.ma.array(proj3d._proj_transform_vectors(segments,self.axes.M),
471472
mask=mask)
@@ -1100,8 +1101,8 @@ def _get_vector(self, segments3d):
11001101
"""
11011102
ifisinstance(segments3d,np.ndarray):
11021103
ifsegments3d.ndim!=3orsegments3d.shape[-1]!=3:
1103-
raiseValueError("segments3d must be a MxNx3 array, but got "+
1104-
"shape {}".format(segments3d.shape))
1104+
raiseValueError("segments3d must be a MxNx3 array, but got "
1105+
f"shape{segments3d.shape}")
11051106
ifisinstance(segments3d,np.ma.MaskedArray):
11061107
self._faces=segments3d.data
11071108
self._invalid_vertices=segments3d.mask.any(axis=-1)
@@ -1117,8 +1118,6 @@ def _get_vector(self, segments3d):
11171118
segments[i, :len(face)]=face
11181119
self._faces=segments
11191120
self._invalid_vertices=np.arange(max_verts)>=num_verts[:,None]
1120-
assertself._invalid_verticesisFalseor \
1121-
self._invalid_vertices.shape==self._faces.shape[:-1]
11221121

11231122
defset_verts(self,verts,closed=True):
11241123
"""
@@ -1184,11 +1183,7 @@ def do_3d_projection(self):
11841183
needs_masking=np.any(self._invalid_vertices)
11851184
num_faces=len(self._faces)
11861185
mask=self._invalid_vertices
1187-
1188-
# Some faces might contain masked vertices, so we want to ignore any
1189-
# errors that those might cause
1190-
withnp.errstate(invalid='ignore',divide='ignore'):
1191-
pfaces=proj3d._proj_transform_vectors(self._faces,self.axes.M)
1186+
pfaces=proj3d._proj_transform_vectors(self._faces,self.axes.M)
11921187

11931188
ifself._axlim_clip:
11941189
viewlim_mask=_viewlim_mask(self._faces[...,0],self._faces[...,1],

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp