<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_distance_landscape_projection(self, x_axis, y_axis, ax=None, *args, **kwargs):
 """ Plots the distance landscape jointly-generated from all the results :param x_axis: symbol to plot on x axis :param y_axis: symbol to plot on y axis :param ax: axis object to plot onto :param args: arguments to pass to :func:`matplotlib.pyplot.contourf` :param kwargs: keyword arguments to pass to :func:`matplotlib.pyplot.contourf` :return: """


        # Gather all x, y, z's to plot first as this would make the gradient landscape better
        x_all, y_all, z_all = [], [], []
        for result in self.results:
            x, y, z = result.distance_landscape_as_3d_data(x_axis, y_axis)
            x_all.extend(x)
            y_all.extend(y)
            z_all.extend(z)

        # Now plot the contour for x_all, y_all and z_all
        plot_contour(x_all, y_all, z_all, x_axis, y_axis, ax=ax, *args, **kwargs)