箱ひげ図の横軸が数値で、1000000, 2000000, ... などとなっている場合に、1, 2, ... × 10^6 と表示したい。どうやらScalarFormatterではできないっぽい。
ここを参考に、seabornで自動設定されるx軸ラベルを取得して数値に変換し、1000000で割った。
python
import matplotlib.pyplot as plt
import seaborn as sns
import textwrap
fig, ax = plt.subplots(figsize=(8, 6))
sns.boxplot(x="Density", y="Ratio", data=df, color='lightgray')
texts = [textwrap.fill(t.get_text(), 10) for t in ax.get_xticklabels()]
xlabels = [int(t)/10**6 for t in texts]
ax.set_xticklabels(xlabels)
ax.set_xlabel("Density [$10^6$ cells/mL]")