4
4
from tempfile import mkstemp
5
5
from typing import Any , List , Union
6
6
7
- import axelrod as axl
7
+ import dask as da
8
+ import dask .dataframe as dd
8
9
import matplotlib .pyplot as plt
9
10
import numpy as np
10
11
import tqdm
12
+ from mpl_toolkits .axes_grid1 import make_axes_locatable
13
+
14
+ import axelrod as axl
11
15
from axelrod import Player
12
16
from axelrod .interaction_utils import (compute_final_score_per_turn ,
13
17
read_interactions_from_file )
14
18
from axelrod .strategy_transformers import DualTransformer , JossAnnTransformer
15
- from mpl_toolkits .axes_grid1 import make_axes_locatable
16
-
17
- import dask as da
18
- import dask .dataframe as dd
19
19
20
20
Point = namedtuple ("Point" , "x y" )
21
21
22
22
23
- def create_points (step : float , progress_bar : bool = True ) -> List [Point ]:
23
+ def _create_points (step : float , progress_bar : bool = True ) -> List [Point ]:
24
24
"""Creates a set of Points over the unit square.
25
25
26
26
A Point has coordinates (x, y). This function constructs points that are
@@ -59,7 +59,7 @@ def create_points(step: float, progress_bar: bool = True) -> List[Point]:
59
59
return points
60
60
61
61
62
- def create_jossann (point : Point , probe : Any ) -> Player :
62
+ def _create_jossann (point : Point , probe : Any ) -> Player :
63
63
"""Creates a JossAnn probe player that matches the Point.
64
64
65
65
If the coordinates of point sums to more than 1 the parameters are
@@ -95,7 +95,7 @@ def create_jossann(point: Point, probe: Any) -> Player:
95
95
return joss_ann
96
96
97
97
98
- def create_probes (
98
+ def _create_probes (
99
99
probe : Union [type , Player ], points : list , progress_bar : bool = True
100
100
) -> List [Player ]:
101
101
"""Creates a set of probe strategies over the unit square.
@@ -121,11 +121,11 @@ def create_probes(
121
121
"""
122
122
if progress_bar :
123
123
points = tqdm .tqdm (points , desc = "Generating probes" )
124
- probes = [create_jossann (point , probe ) for point in points ]
124
+ probes = [_create_jossann (point , probe ) for point in points ]
125
125
return probes
126
126
127
127
128
- def create_edges (points : List [Point ], progress_bar : bool = True ) -> list :
128
+ def _create_edges (points : List [Point ], progress_bar : bool = True ) -> list :
129
129
"""Creates a set of edges for a spatial tournament.
130
130
131
131
Constructs edges that correspond to `points`. All edges begin at 0, and
@@ -152,7 +152,7 @@ def create_edges(points: List[Point], progress_bar: bool = True) -> list:
152
152
return edges
153
153
154
154
155
- def generate_data (interactions : dict , points : list , edges : list ) -> dict :
155
+ def _generate_data (interactions : dict , points : list , edges : list ) -> dict :
156
156
"""Generates useful data from a spatial tournament.
157
157
158
158
Matches interactions from `results` to their corresponding Point in
@@ -186,7 +186,7 @@ def generate_data(interactions: dict, points: list, edges: list) -> dict:
186
186
return point_scores
187
187
188
188
189
- def reshape_data (data : dict , points : list , size : int ) -> np .ndarray :
189
+ def _reshape_data (data : dict , points : list , size : int ) -> np .ndarray :
190
190
"""Shape the data so that it can be plotted easily.
191
191
192
192
Parameters
@@ -232,7 +232,7 @@ def __init__(
232
232
self .strategy = strategy
233
233
self .probe = probe
234
234
235
- def construct_tournament_elements (
235
+ def _construct_tournament_elements (
236
236
self , step : float , progress_bar : bool = True
237
237
) -> tuple :
238
238
"""Build the elements required for a spatial tournament
@@ -258,9 +258,9 @@ def construct_tournament_elements(
258
258
original player, the rest are the probes.
259
259
260
260
"""
261
- self .points = create_points (step , progress_bar = progress_bar )
262
- edges = create_edges (self .points , progress_bar = progress_bar )
263
- probe_players = create_probes (
261
+ self .points = _create_points (step , progress_bar = progress_bar )
262
+ edges = _create_edges (self .points , progress_bar = progress_bar )
263
+ probe_players = _create_probes (
264
264
self .probe , self .points , progress_bar = progress_bar
265
265
)
266
266
@@ -316,7 +316,7 @@ def fingerprint(
316
316
if filename is None :
317
317
temp_file_descriptor , filename = mkstemp () # type: ignore
318
318
319
- edges , tourn_players = self .construct_tournament_elements (
319
+ edges , tourn_players = self ._construct_tournament_elements (
320
320
step , progress_bar = progress_bar
321
321
)
322
322
@@ -340,7 +340,7 @@ def fingerprint(
340
340
os .close (temp_file_descriptor )
341
341
os .remove (filename )
342
342
343
- self .data = generate_data (self .interactions , self .points , edges )
343
+ self .data = _generate_data (self .interactions , self .points , edges )
344
344
return self .data
345
345
346
346
def plot (
@@ -374,7 +374,7 @@ def plot(
374
374
A heat plot of the results of the spatial tournament
375
375
"""
376
376
size = int ((1 / self .step ) // 1 ) + 1
377
- plotting_data = reshape_data (self .data , self .points , size )
377
+ plotting_data = _reshape_data (self .data , self .points , size )
378
378
fig , ax = plt .subplots ()
379
379
cax = ax .imshow (plotting_data , cmap = cmap , interpolation = interpolation )
380
380
0 commit comments