**有没有办法使用Seaborn的Pairplot来强制使用科学计数法?**我希望图之间有一些一致性(下面的例子)。我已经找到了其他Seaborn图的建议,但还没有成功地使用Pairplot实现任何东西。
https://seaborn.pydata.org/generated/seaborn.pairplot.html
- 版本:*
海运0.8.1
numpy 1.13.1
Matplotlib 2.0.2
pandas 0.23.0
电流图:
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')
尝试重新格式化失败:
1.
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})
当前:
目标:
1条答案
按热度按时间x0fgdtte1#
你需要将你的格式化器应用到
pairplot
创建的每个轴上。实际上,边缘上的轴就足够了,但是将同样的东西同样地应用到所有轴上更容易。我会这样做: