Môže a Pobrežie mora nastaviť automaticky premeniť yaxis na zachytenie maximálneho rozsahu y viacerých množín údajov?
Keď používate dávky pozemkov Seaborne, niekedy je nevyhnutné, aby sa údaje poskytovali bez zvýšenia maximálnej frekvenčnej hodnoty. Keď k tomu dôjde, vytvorený yaxis vynesie dáta. Avšak, sns.distplot()
je dobré, ak sú údaje poskytované s maximálnym maximom.
To sa dá opraviť cez Matplotlib.patches
alebo len volaním ax.autoscale()
(Vďaka @ImportanceOfBeingErnest pre neskorší návrh), ale buď sa zdá "kludgey" ...
Jednoduchý pracovný príklad:
# 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()
# --- 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()
# --- 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()
odpovede:
2 pre odpoveď č. 1Bola to otázka Seaborne (0.8.0) a oprava bola predložená dňa GitHub (Vďaka @mwaskom).
Ak sa takýto problém zobrazuje, aktualizujte prosím iba Seaborn (> = verzia 0.8.1).