Je veux tracer un cdf de données sur un graphique de lognormale, comme indiqué ci-dessous:Python Lognormal Probabilités Terrain
Je veux que les échelles des axes sur mon terrain pour ressembler à ça, seulement renversé (avec probabilité sur l'axe des x). Notez que l'axe des Y ci-dessus n'est PAS simplement une échelle logarithmique. Aussi je ne suis pas sûr pourquoi l'axe des x ci-dessus répète 1-9 au lieu d'aller à 10-99 etc, mais ignorer cette partie.
Voici ce que j'ai jusqu'à présent. J'utilise la méthode pour faire un CDF comme Outlined here
mu, sigma = 3., 1. # mean and standard deviation
data = np.random.lognormal(mu, sigma, 1000)
#Make CDF
dataSorted = np.sort(data)
dataCdf = np.linspace(0,1,len(dataSorted))
plt.plot(dataCdf, dataSorted)
plt.gca().set_yscale('log')
plt.xlabel('probability')
plt.ylabel('value')
Maintenant je dois juste une façon d'échelle mon axe x comme l'axe y est sur l'image ci-dessus.
C'est ce que vous avez besoin: [Tracer des axes logarithmiques avec matplotlib en python] (http://stackoverflow.com/questions/773814/plot-logarithmic-axes-with-matplotlib-in -python)? – Lucas
N'est-ce pas évident comment vous pouvez faire de l'axe x logarithmique de votre code actuel? 'plt.gca(). set_yscale ('log')' -> 'plt.gca(). set_xscale ('log')' –
L'échelle x (ou y-scale dans les exemples d'axes) n'est pas logarithmique. J'ai changé l'image des axes de l'exemple pour plus de clarté. Les valeurs de probabilité «moyennes» sont proches les unes des autres, les grandes/petites étant plus éloignées. C'est comme son logarithmique jusqu'à 0.5 et "inversement" logarithmique de 0.5 à 1 – hm8