def plot_places(self):
        '''Plot places (in the parameter space) of all the generated artifacts
        and the artifacts accepted to the domain.
        '''
        from matplotlib import pyplot as plt
        fig, ax = plt.subplots()
        title = "Agent places, artifacts and env artifacts ({} env artifacts)".format(len(self.artifacts))

        x = []
        y = []
        for a in self.get_agents():
            args = a.arg_history
            x = x + [e[0] for e in args]
            y = y + [e[1] for e in args]
        sc = ax.scatter(x, y, marker='.', color=(0, 0, 1, 0.1), label='agent place')

        x = []
        y = []
        for a in self.get_agents():
            arts = a.A
            for ar in arts:
                if ar.self_criticism == 'pass':
                    args = ar.framings[ar.creator]['args']
                    x.append(args[0])
                    y.append(args[1])
        sc = ax.scatter(x, y, marker="x", color=(0, 0, 1, 0.3), label='agent artifact')

        x = []
        y = []
        for a in self.artifacts:
            args = a.framings[a.creator]['args']
            x.append(args[0])
            y.append(args[1])

        sc = ax.scatter(x, y, marker="x", color='red', label='env artifact',
                        s=40)
        ax.set_xlim([-200, 200])
        ax.set_ylim([-200, 200])
        ax.set_xlabel('r')
        ax.set_ylabel('r_')
        ax.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=10)
        ax.set_title(title)
        plt.tight_layout(rect=(0,0,0.8,1))

        if self.logger is not None and self.logger.folder is not None:
            imname = os.path.join(self.logger.folder, 'arts_a{}_i{}_v{}.png'
                                  .format(len(self.get_agents()), self.age,
                                          self.voting_method))
            plt.savefig(imname)
            plt.close()
        else:
            plt.show()