gpt4 book ai didi

python - seaborn (distplot) yaxis 可以自动重新缩放吗?

转载 作者:行者123 更新时间:2023-12-01 02:26:20 44 4
gpt4 key购买 nike

可以Seaborn distplot是否设置为自动重新缩放 y 轴以捕获多个绘制数据集的最大 y 范围?

使用 Seaborn 进行批量绘图时,有时不可避免地会在不增加最大频率值的情况下提供数据。当发生这种情况时,创建的绘图 y 轴会切断数据。然而,sns.distplot()如果提供的数据的最大值不断增加,那就没问题了。

这可以通过 Matplotlib.patches 修复或者直接调用 ax.autoscale() (感谢 @ImportanceOfBeingErnest 稍后的建议),但两者似乎都是“kludgey”...

简单的工作示例:

# Import modules
import numpy as np
from scipy.stats import truncnorm
import matplotlib.pyplot as plt
import seaborn as sns; sns.set(color_codes=True)

# Make some random data (credit: [@bakkal's Answer][3])
scale = 3.
range = 10
size = 100000
X = truncnorm(a=-range/scale, b=+range/scale, scale=scale).rvs(size=size)

# --- first time to show issue
# Now plot up 1st set of data (with first dataset having high Y values)
ax= sns.distplot( X*4 )
# Now plot up two more
for i in np.arange(1, 3):
sns.distplot( X*i, ax=ax )
plt.show()

 (Issue!)

# --- Second time with a "kludgey" fix
ax = sns.distplot( X*4 )
# Now plot up two more
for i in np.arange(1, 3):
sns.distplot( X*i, ax=ax )
# Now force y axis extent to be correct
ax.autoscale()
plt.show()

(Success!)

# --- Third time with increasing max in data provided 
ax= sns.distplot( X )
# Now plot up two more
for i in np.arange(2, 4 ):
sns.distplot( X*i, ax=ax )
plt.show()

(success too)

最佳答案

这是 Seaborn 中的一个问题(0.8.0) 并且已在 github 上提交了修复程序.

如果您也看到此问题,请仅更新 Seaborn (>= version 0.8.1 )。

关于python - seaborn (distplot) yaxis 可以自动重新缩放吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47352929/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com