import matplotlib.pyplot as plt from sklearn.datasets import load_iris import numpy as np   #setting the shape of the figure in one line as opposed to creating 12 variables fig, subs = plt.subplots(4,3)   #code given in Hyperion notes iris = load_iris() data = np.array(iris['data']) targets = np.array(iris['target'])  cd = {0:'r',1:'b',2:"g"} cols = np.array([cd[target] for target in targets]) #ROW 1 subs[0][0].scatter(data[:,0], data[:,1], c=cols) subs[0][1].scatter(data[:,0], data[:,2], c=cols) subs[0][2].scatter(data[:,0], data[:,3], c=cols) #ROW 2 subs[1][0].scatter(data[:,1], data[:,0], c=cols) subs[1][1].scatter(data[:,1], data[:,2], c=cols) subs[1][2].scatter(data[:,1], data[:,3], c=cols) #ROW 3 subs[2][0].scatter(data[:,2], data[:,0], c=cols) subs[2][1].scatter(data[:,2], data[:,1], c=cols) subs[2][2].scatter(data[:,2], data[:,3], c=cols) #ROW 4 subs[3][0].scatter(data[:,3], data[:,0], c=cols) subs[3][1].scatter(data[:,3], data[:,1], c=cols) subs[3][2].scatter(data[:,3], data[:,2], c=cols) #show data plot plt.show()

Read more of this post