<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_trajectory_projection(self, x_axis, y_axis, legend=False, ax=None, start_and_end_locations_only=False, start_marker='bo', end_marker='rx', *args, **kwargs):
 """ Plots the projection of the trajectory through the parameter space the minimisation algorithm took. Since parameter space is often high-dimensional and paper can realistically represent only two, one needs to specify the ``x_axis``, and ``y_axis`` arguments with the variable names to project the high-dimensional grid, on, i.e. ``x_axis='c_1'``, ``y_axis='c_4'`` :param x_axis: variable name (parameter or left hand side of equation) to project x axis onto :type x_axis: str|:class:`~sympy.Symbol` :param y_axis: variable name to project y axis onto :type y_axis: str|:class:`~sympy.Symbol` :param legend: Whether to display legend or not :type legend: bool :param ax: Axis to plot onto (defaults to :func:`matplotlib.pyplot.gca` if not set) :param start_and_end_locations_only: If set to true, will not plot the trajectory, but only start and end parameter :param start_marker: The marker to use for start of trajectory, defaults to blue circle :param end_marker: The marker to use for end of trajectory, defaults to red x :param args: Arguments to pass to :func:`matplotlib.pyplot.plot` function :param kwargs: Keyword arguments to pass to :func:`matplotlib.pyplot.plot` function """


        x, y = self.solutions_as_2d_trajectories(x_axis, y_axis)

        plot_2d_trajectory(x, y,
                           x_label=x_axis, y_label=y_axis,
                           legend=legend,
                           ax=ax,
                           start_and_end_locations_only=start_and_end_locations_only,
                           start_marker=start_marker,
                           end_marker=end_marker,
                           *args, **kwargs)