如何在seaborn.FacetGrid或seaborn.catplot的轴上再次强制使用科学记数法?
import seaborn as sns
sns.set_theme(style="ticks")
exercise = sns.load_dataset("exercise")
g = sns.catplot(x="time", y="pulse", hue="kind", data=exercise)谢谢!
发布于 2021-03-05 09:10:26
关键在这里:
plt.ticklabel_format(axis="x", style="sci", scilimits=(0,0))要使用指定的科学计数法格式,请执行以下操作:
plt.ticklabel_format(axis="y", style="sci", scilimits=(0,0))完整代码:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
a = pd.DataFrame({"x": np.random.randn(500),
"y": np.random.randn(500)*200})
import seaborn as sns
sns.set_theme(style="ticks")
g = sns.catplot( data=a)
plt.ticklabel_format(axis="y", style="sci", scilimits=(0,0))
plt.show()

要使用默认科学计数法,请执行以下操作:
如果您的数字很大(请注意y的值),Seaborn将自动使用科学记数法:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
a = pd.DataFrame({"x": np.random.randn(500),
"y": np.random.randn(500)*1000000000})
import seaborn as sns
sns.set_theme(style="ticks")
g = sns.catplot( data=a)
# plt.ticklabel_format(style='plain', axis='y')
plt.show()避免使用科学记数法
只需使用
plt.ticklabel_format(style='plain', axis='y')完整代码:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
a = pd.DataFrame({"x": np.random.randn(500),
"y": np.random.randn(500)*200})
import seaborn as sns
sns.set_theme(style="ticks")
g = sns.catplot( data=a)
plt.ticklabel_format(style='plain', axis='y')
plt.show()

https://stackoverflow.com/questions/66485184
复制相似问题