2011-10-08 19 views

risposta

22

Controllare il pyplot documentation.

  • pyplot.hist può "log" asse y per voi con log argomento chiave = True
  • pyplot.hist accetta bins argomento parola chiave, ma è necessario "log" asse x te

per esempio:

#!/usr/bin/python 
import numpy 
from matplotlib import pyplot as plt 

data = numpy.random.gumbel(2 ** 20, 2 ** 19, (1000,)) 

bins = range(15, 25) 
plt.xticks(bins, ["2^%s" % i for i in bins]) 
plt.hist(numpy.log2(data), log=True, bins=bins) 
plt.show() 

Questo vi darà i conteggi effettivi di come quanti elementi rientrano in ogni bin, tracciata su un asse di registro (che è ciò che la gente di solito significa da una trama di log). Non potrei dire dalla tua formulazione se volevi questo o il log del conteggio tracciato su un asse lineare.

Btw., I contenitori non devono essere distanziati uniformemente.

+0

Per tracciare il log del conteggio di un asse lineare è comparativamente più semplice, e comunque entrambi i metodi danno lo stesso grafico. +1 per l'inizio della chiave. Ma non capisco quello che fai nel codice: stai visualizzando falsi esponenziali tick su cosa è veramente una scala x lineare? –

Problemi correlati