Is there a way to force scientific notation using Seaborn's Pairplot? I'm hoping for some consistency between plots (examples below). I've found suggestions for other seaborn plots, but have not successfully implemented anything with Pairplot.
https://seaborn.pydata.org/generated/seaborn.pairplot.html
Versions:
seaborn 0.8.1
numpy 1.13.1
matplotlib 2.0.2
pandas 0.23.0
Current plot:
import numpy as np
import pandas as pd
import seaborn as sns
from scipy import stats
import matplotlib.pyplot as plt
#remove NAs
dfna = df.dropna()
#Correlation function
mean = np.zeros(3)
cov = np.random.uniform(.2, .4, (3, 3))
cov += cov.T
cov[np.diag_indices(3)] = 1
def corrfunc(x, y, **kws):
r, _ = stats.pearsonr(x, y)
ax = plt.gca()
ax.annotate("{:.2f}".format(r),
xy=(.3, .45), xycoords=ax.transAxes, fontsize = 30)
#2D regression + distribution
p = sns.pairplot(dfna, diag_kind="kde", diag_kws=dict(shade=True, color = "Blue"), plot_kws=dict(s=5, edgecolor="Blue", color = "Blue", linewidth=1))
p.fig.text(0.5, 1.00,'BLAHH', fontsize=30)
p.map_upper(plt.scatter, color = "White", edgecolor = "White")
p.map_upper(corrfunc)
p.fig.text(0.35, -0.04, "xxx", ha ='left', fontsize = 20)
p.fig.text(-0.04, 0.68, "xxx", ha ='left', fontsize = 20, rotation = 90)
#p.savefig('pairplot.svg')
Unsuccessful attempts to reformat:
plt.ticklabel_format(style = 'sci')
import matplotlib.ticker as tkr formatter = tkr.ScalarFormatter(useMathText=True) formatter.set_scientific(True) p = sns.pairplot(dfna, plot_kws = {'format': formatter})
Current:
Goal: