1
1
import matplotlib
2
2
import matplotlib .pyplot as plt
3
- cmap = plt .cm .jet
3
+ default_cmap = plt .cm .jet
4
4
5
5
import numpy as np
6
6
from sklearn .decomposition import IncrementalPCA
@@ -66,7 +66,8 @@ def extract_tsne_latents(vectors, perplexity=30, n_pca_comp=32): ## tSNE mapping
66
66
z_2D = vectors
67
67
return z_2D
68
68
69
- def plot_latents (code_vectors , labels , plot_fname = "2Dcode_plot.jpg" , alpha = 1. ):
69
+ def plot_latents (code_vectors , labels , plot_fname = "2Dcode_plot.jpg" , alpha = 1. ,
70
+ cmap = None ):
70
71
"""
71
72
Produces a label-overlaid (label map to distinct colors) scatterplot for
72
73
visualizing two-dimensional latent codes (produced by either PCA or t-SNE).
@@ -80,7 +81,9 @@ def plot_latents(code_vectors, labels, plot_fname="2Dcode_plot.jpg", alpha=1.):
80
81
81
82
plot_fname: /path/to/plot_fname.<suffix> for saving the plot to disk
82
83
83
- alpha:
84
+ alpha: alpha intensity level to present colors in scatterplot
85
+
86
+ cmap: custom color-map to provide
84
87
"""
85
88
curr_backend = plt .rcParams ["backend" ]
86
89
matplotlib .use ('Agg' ) ## temporarily go in Agg plt backend for tsne plotting
@@ -92,7 +95,11 @@ def plot_latents(code_vectors, labels, plot_fname="2Dcode_plot.jpg", alpha=1.):
92
95
if lab .shape [1 ] > 1 : ## extract integer class labels from a one-hot matrix
93
96
lab = np .argmax (lab , 1 )
94
97
plt .figure (figsize = (8 , 6 ))
95
- plt .scatter (code_vectors [:, 0 ], code_vectors [:, 1 ], c = lab , cmap = cmap , alpha = alpha )
98
+ _cmap = cmap
99
+ if _cmap is None :
100
+ _cmap = default_cmap
101
+ #print("> USING DEFAULT CMAP!")
102
+ plt .scatter (code_vectors [:, 0 ], code_vectors [:, 1 ], c = lab , cmap = _cmap , alpha = alpha )
96
103
colorbar = plt .colorbar ()
97
104
#colorbar.set_alpha(1)
98
105
#plt.draw_all()
0 commit comments