import matplotlib.pyplot as plt import seaborn as sns from sklearn.decomposition import PCA as sklearnPCA sklearn_pca = sklearnPCA(n_components=2) tmp = np.array(df) #df is a Pandas DataFrame proj = sklearn_pca.fit_transform(tmp) sns.set_style("white") sns.set_context('talk') g = sns.JointGrid(proj[:,0], proj[:,1], space=0, size=8) g.plot_marginals(sns.distplot, kde=False, color=".7", bins=30) g.plot_joint(plt.scatter, color=".5", edgecolor="none", alpha=1) g.set_axis_labels(xlabel='PC1', ylabel='PC2')