def render_fut_trajs_grad_color(self,
               axis: Axes,
               linewidth: float = 1,
               linestyles='solid',
               cmap='viridis',
               fut_ts: int = 6,
               alpha: int = 0.8,
               mode_idx=None) -> None:
        """
        Renders the box in the provided Matplotlib axis.
        :param axis: Axis onto which the box should be drawn.
        :param view: <np.array: 3, 3>. Define a projection in needed (e.g. for drawing projection in an image).
        :param normalize: Whether to normalize the remaining coordinate.
        :param colors: (<Matplotlib.colors>: 3). Valid Matplotlib colors (<str> or normalized RGB tuple) for front,
            back and sides.
        :param linewidth: Width in pixel of the box sides.
        """

        fut_coords = self.fut_trajs.reshape((-1, fut_ts, 2))
        if mode_idx is not None:
            fut_coords = fut_coords[[mode_idx]]

        for i in range(fut_coords.shape[0]):
            fut_coord = fut_coords[i]
            fut_coord = fut_coord.cumsum(axis=-2)
            fut_coord = fut_coord + self.center[:2]
            fut_coord = np.concatenate((self.center[np.newaxis, :2], fut_coord), axis=0)
            fut_coord_segments = np.stack((fut_coord[:-1], fut_coord[1:]), axis=1)

            fut_vecs = None
            for j in range(fut_coord_segments.shape[0]):
                fut_vec_j = fut_coord_segments[j]
                x_linspace = np.linspace(fut_vec_j[0, 0], fut_vec_j[1, 0], 51)
                y_linspace = np.linspace(fut_vec_j[0, 1], fut_vec_j[1, 1], 51)
                xy = np.stack((x_linspace, y_linspace), axis=1)
                xy = np.stack((xy[:-1], xy[1:]), axis=1)
                if fut_vecs is None:
                    fut_vecs = xy
                else:
                    fut_vecs = np.concatenate((fut_vecs, xy), axis=0)

            y = np.sin(np.linspace(3/2*np.pi, 5/2*np.pi, 301))
            colors = color_map(y[:-1], cmap)
            line_segments = LineCollection(fut_vecs, colors=colors, linewidths=linewidth, linestyles=linestyles, cmap=cmap)

            # if mode_idx is None and abs(fut_coord[-1, 0]) < 35 and abs(fut_coord[-1, 1]) < 35:
            #     text = f'{i}'
            #     axis.text(fut_coord[-1, 0], fut_coord[-1, 1], text, ha='left', fontsize=5)

            axis.add_collection(line_segments)

        Renders the box in the provided Matplotlib axis.
        :param axis: Axis onto which the box should be drawn.
        :param view: <np.array: 3, 3>. Define a projection in needed (e.g. for drawing projection in an image).
        :param normalize: Whether to normalize the remaining coordinate.
        :param colors: (<Matplotlib.colors>: 3). Valid Matplotlib colors (<str> or normalized RGB tuple) for front,
            back and sides.
        :param linewidth: Width in pixel of the box sides.
        
projects/mmdet3d_plugin/core/bbox/structures/nuscenes_box.py