MCPcopy Index your code
hub / github.com/matplotlib/matplotlib / _3d_extend_contour

Method _3d_extend_contour

lib/mpl_toolkits/mplot3d/axes3d.py:2802–2828  ·  view source on GitHub ↗

Extend a contour in 3D by creating

(self, cset, stride=5)

Source from the content-addressed store, hash-verified

2800 return polyc
2801
2802 def _3d_extend_contour(self, cset, stride=5):
2803 """
2804 Extend a contour in 3D by creating
2805 """
2806
2807 dz = (cset.levels[1] - cset.levels[0]) / 2
2808 polyverts = []
2809 colors = []
2810 for idx, level in enumerate(cset.levels):
2811 path = cset.get_paths()[idx]
2812 subpaths = [*path._iter_connected_components()]
2813 color = cset.get_edgecolor()[idx]
2814 top = art3d._paths_to_3d_segments(subpaths, level - dz)
2815 bot = art3d._paths_to_3d_segments(subpaths, level + dz)
2816 if not len(top[0]):
2817 continue
2818 nsteps = max(round(len(top[0]) / stride), 2)
2819 stepsize = (len(top[0]) - 1) / (nsteps - 1)
2820 polyverts.extend([
2821 (top[0][round(i * stepsize)], top[0][round((i + 1) * stepsize)],
2822 bot[0][round((i + 1) * stepsize)], bot[0][round(i * stepsize)])
2823 for i in range(round(nsteps) - 1)])
2824 colors.extend([color] * (round(nsteps) - 1))
2825 self.add_collection3d(art3d.Poly3DCollection(
2826 np.array(polyverts), # All polygons have 4 vertices, so vectorize.
2827 facecolors=colors, edgecolors=colors, shade=True))
2828 cset.remove()
2829
2830 def add_contour_set(
2831 self, cset, extend3d=False, stride=5, zdir='z', offset=None,

Callers 1

add_contour_setMethod · 0.95

Calls 5

add_collection3dMethod · 0.95
get_pathsMethod · 0.45
get_edgecolorMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected