<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def plot_lines_to(self, other, index=None, **kwds):
 """Plot lines from samples shared between this projection and another dataset. Args: other (:py:class:`pymds.Projection` or :py:class:`pandas.DataFrame` or `array-like`):
 The other dataset to plot lines to. If other is an instance of :py:class:`pymds.Projection` or :py:class:`pandas.DataFrame`, then other must have indexes in common with this projection. If `array-like`, then other must have the same dimensions as `self.coords`. index (`list-like` or `None`):
 Only draw lines between samples in index. All elements in index must be samples in this projection and other. **kwds: Passed to :py:obj:`matplotlib.collections.LineCollection`. Examples: Returns: :py:obj:`matplotlib.axes.Axes` """

        start, end = self._get_samples_shared_with(other, index=index)
        segments = [[start[i, :], end[i, :]] for i in range(start.shape[0])]
        ax = plt.gca()
        ax.add_artist(LineCollection(segments=segments, **kwds))
        return ax