Profilo di mm mm

Nome mm mm
Indirizzo email [email protected]
AvatarAvatar utenti
Messaggi10
  • Re: [Python] Fit Power Law
    Forum >> Programmazione Python >> Calcolo scientifico
    from scipy.stats import linregress
    import numpy as np
    from scipy import optimize
    import matplotlib.pyplot as plt
    self.degr = [ 358, 124, 106, 96, 94, 92, 90, 88, 84, 80, 76, 74, 72, 70, 68, 64, 62, 60, 58, 56, 54, 52, 50, 48, 46, 44, 42, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2 ]
    
    self.cnt = [ 1, 1, 1, 1, 2, 1,, 1, 1, 1, 3, 1, 1, 3, 2, 6, 3, 3, 7, 2, 1, 1, 16, 4, 5, 9, 6, 10, 10, 9, 15, 19, 35, 21, 29, 30, 49, 43, 55, 52, 66, 70, 99, 110, 186, 238, 418, 835] 
    x = np.array(self.degr, dtype=int)
    y = np.array(self.cnt, dtype=int)
    logA = np.log10(x) ; logB = np.log10(y)
    fitfunc = lambda p, x: p[ 0 ] + p[ 1 ] * x
    errfunc = lambda p, x, y: (y - fitfunc(p, x))
    pinit = [1.0, -1.0]
    out = optimize.leastsq(errfunc, pinit, args=(logA, logB), full_output=1)
    pfinal = out[ 0 ]
    index = pfinal[ 1 ]
    amp = 10.0**pfinal[ 0 ]
    xdata = np.linspace(1, max(x), len(x))    # min(x)
    powerlaw = lambda x, amp, index: amp * (x**index)
    ydata = powerlaw(xdata, amp, index)
    new_xdata = []; new_ydata = []
        
    # TUTTO DIPENDE DA QUESTO CICLO FOR
    for i in range(len(ydata)):
       # if ydata >= 1.0 :    # min(y)): 
       if float(min(y)) <= ydata <= float(max(y)) :
           new_ydata.append(ydata) ; new_xdata.append(xdata)
       else: continue
    
    # a_POWERLAW viene 7541.582 anzichè 7544.etc 
    a_POWERLAW = np.around(amp, 3) # Non è preciso 
    b_POWERLAW = np.around(index, 3) #ok
    corr_POWERLAW = np.corrcoef(logA, logB, rowvar=0)[0,1] # NON TORNA
    #corr_POWERLAW = np.corrcoef(new_xdata, new_ydata, rowvar=0)[0,1]
    # Corr corretto = 0.733   NON TORNA
    R_squared_POWERLAW = np.around( linregress(logA, logB).rvalue**2, 3)  #ok
    
    plt.loglog(new_xdata, new_ydata, "r-", linewidth=2.0)
    plt.scatter(self.degr, self.cnt, alpha=0.6)
    plt.set_xscale('log')
    plt.set_yscale('log')
    plt.show()   
    
    La immagine allegata taglia nella direzione giusta ma viene spezzata.
    Ho fatto dei test con 2 file: il primo con meno nodi e interazioni non dava problemi, 
    mentre con il secondo file che ho poi deciso di analizzare perchè contenente più informazioni, 
    mi ritorna una FIT troncata seppur nella direzione giusta. 
    Sta attraversando correttamente i punti che deve.
    
    Mi potreste aiutare a capire cosa sbaglio ? Grazie
    --- Ultima modifica di mm mm in data 2021-10-11 16:31:31 ---
  • [Python] Fit Power Law
    Forum >> Programmazione Python >> Calcolo scientifico
    Avrei bisogno di chiedere una cortesia:
    Se inviassi una funzione, che ho elaborato ma che non torna, me la potreste correggere o dirmi dove sbaglio in tempi brevi?
    E' per un progetto di lavoro che devo consegnare lunedì.

    Si tratta della FIT POWER LAW che con un file di dati torna correttamente ma che con il file che ho poi scelto di esaminare non torna.

    Fatemi sapere che allego poi immagine, codice e file dati.

    Ringrazio anticipatamente chi mi risponderà.


    --- Ultima modifica di mm mm in data 2021-09-25 16:34:41 ---
  • Re: PANDAS
    Forum >> Programmazione Python >> Calcolo scientifico
    ciao scusami leggo solo ora il tuo post. Molto probabilmente avrai già risolto ma io ci provo cmq.



    Hai per caso provato a leggere gli indici delle righe con df1.index ?

    Cosa ti restituisce?






  • Re: [Python] Coeff Clust DiGraph()
    Forum >> Programmazione Python >> Calcolo scientifico
    ciao a tutti! Ho capito come calcolare i coeff di clustering per ciascun nodo in un graph orientato (D) :



    (num triangles del nodo) / ( len(list(D.neighbors(node)))*(len(list(D.neighbors(node)))-1) )




    ma non so proprio come calcolare i triangles dato che la funzione networkx non funziona in questo caso.




    Mi potreste dare qualche dritta? grazie
  • [Python] Coeff Clust DiGraph()
    Forum >> Programmazione Python >> Calcolo scientifico
    Ciao a tutti!
    Sto provando a calcolare il coeff di clustering per i nodi di un DiGraph() con la libreria Networkx. Guardando attentamente ho notato che non tutti i valori tornano.

    Cercando sul web ho trovato del codice in python sul calcolo dei coeff secondo la logica dei Neighbors ma nemmeno questo mi riporta i valori attesi.


    Potreste aiutarmi?


    Sul web ho anche trovato chi dice che oltre al calcolo secondo i Neighbors, i coeff possono essere calcolati anche ricorrendo ai triangoli ma a me risulta che nel caso di un Grafo Orientato (DiGraph) non ci siano triangoli o almeno calcolandoli secondo la medesima libreria non mi ritorna nulla. :sarcastic:

    Grazie!









    --- Ultima modifica di mm mm in data 2020-11-24 17:23:54 ---
  • Re: [wxpython] come sovrapporre immagini alla pressione di un tasto
    Forum >> Programmazione Python >> GUI
    Ho risolto inserendo un bottone toggle e costruendo non 1 classe con 2 sottoclassi ma ho inserito tutto in 1 classe che richiama le diverse funzioni.

    Ora l'unico problema sta nel fatto che non riesco a rendere la image fit trasparente per sovrapporla alla distribuzione (sovrapporre le 2 immagini senza crearne una sola)

    Come posso fare?

    Il parametro 'transparent' nella plt.savefig() non funziona (ho una immagine con sfondo bianco e non trasparente)

    Inoltre mi interesserebbe sapere anche come poi poterla rimuovere: Ho provato ad usare plt.Add() per aggiungere l'immagine e plt.Remove() per rimuoverla, ma quest'ultimo non funziona.


    --- Ultima modifica di mm mm in data 2020-05-06 17:38:29 ---

    --- Ultima modifica di mm mm in data 2020-05-06 17:39:02 ---
  • [wxpython] come sovrapporre immagini alla pressione di un tasto
    Forum >> Programmazione Python >> GUI
    Salve a tutti, ho un wx.panel suddiviso in due sezioni:
    - una per le immagini

    - una per i tasti

    Queste due sezioni non sono altro che due classi.

    Vorrei poter, alla pressione di un tasto nella casseB, sovrapporre l'immagine di Fit Power Law

    all'immagine di Distribuzione già presente nella sezione classeA che ho precedentemente salvato nel buffer e caricato.

    Mi potete spiegare come poter effettuare il controllo sulla pressione del Bottone

    e una volta selezionato, cosa faccio? salvo l'immagine in trasparenza sempre nel buffer e ripeto la procedura?

    Grazie!
  • Re: Python Clustering Coeff Distribution
    Forum >> Principianti
    Ho risolto!!!! Finalmente tutto torna.



    Ho provato ad usare una funzione diversa, con valori per ciascun nodo ed ho notato che uno stesso valore del nodo corrispondeva a più valori di clustering per cui, in sostanza, quei valori non presenti nell'elenco di nx.clustering(G) non sono altro che i valori medi.






  • Python Clustering Coeff Distribution
    Forum >> Principianti
    Ciao a tutti



    Ho un problema nel raggruppare i dati di Clustering Coeff.

    Li ho raggruppati con pandas e poi arrotondati a 3 decimali come richiesto, ma ma ma...

    sono numericamente superiori ai dati in (asse x) dei Neighbors.

    Ho notato che alcuni valori proprio non dovrebbero esserci...

    Come mi consigliate procedere? Grazie!




    Questi sono i dati nella forma
    print(i, x, y) + valore corretto  di un ciclo for
    ma come potete notare vengono sfalsati:

    1 357 0.091 ok
    2 76 0.549 ok

    3 186 0.301 ok

    4 78 0.549 ok

    5 162 0.277 ok

    6 56 0.842 0.806

    7 85 0.677 ok

    8 64 0.658 0.667

    9 61 0.852 ok

    10 7 1.0 0.96

    11 68 0.67 ok

    12 81 0.74ok

    13 128 0.434ok

    14 114 0.475ok

    15 134 0.41ok

    16 63 0.841ok

    eliminati 0.825 e 0.851


    17 62 0.825 0.799

    18 58 0.851 0.818




    eliminare 0.785




    19 77 0.785 0.537

    20 9 0.537 0.997




    aggiunto 0.997

    eliminare 0.286




    21 2 0.286 1.0

    22 5 0.4 ok

    23 4 0.958 0.926

    24 40 0.368 0.958

    25 135 0.612 0.368

    26 75 0.485 0.612

    27 95 0.66 0.485

    28 73 0.992 0.66

    29 54 0.993 0.992

    30 53 0.741 0.993

    31 44 0.556 0.741

    32 86 0.985 0.556

    33 35 0.652 0.985

    34 72 0.999 0.652

    35 50 0.894 0.93

    36 59 0.622 0.894

    37 69 0.772 0.622




    eliminare 0.772




    38 55 0.96 ok

    39 14 0.901 ok

    40 18 0.588 ok

    41 21 0.557 ok




    eliminare 0.799 e 0.801




    42 47 0.799 0.927

    43 37 0.801 0.988

    44 38 0.927 0.98

    45 60 0.988 0.868

    46 92 0.98 0.487

    47 108 0.868 0.467

    48 107 0.487 0.448

    49 39 0.467 0.957

    50 80 0.448 0.555

    51 67 0.957 0.695




    eliminare 0.747




    52 71 0.555 0.644

    53 101 0.842 0.473

    54 36 0.695 0.986

    55 52 0.747 0.772

    56 43 0.644 0.793

    57 33 0.473 0.943

    58 45 0.986 0.754

    59 8 0.772 1.0




    aggiunto 0.793

    eliminare 0.857




    60 25 0.857 0.99

    61 3 0.943 0.963

    62 29 0.754 0.978




    aggiunto 1.0




    63 30 0.944 0.977

    64 57 0.973 0.847




    eliminare 0.73







    --- Ultima modifica di mikkk1 in data 2019-12-18 12:52:20 ---

    --- Ultima modifica di mikkk1 in data 2019-12-18 12:53:41 ---
  • Inserire img in wxpython
    Forum >> Programmazione Python >> GUI
    Ciao a tutti, sono nuova del forum. Ho trovato molto utile questo forum e ho deciso di iscrivermi perchè tra i diversi post non ho trovato una possibile soluzione al mio problema.

    Ora vi spiego:

    Ho creato una interfaccia grafica in wxpython.
    Non riesco a creare/inserire, eventualmente, un grafico nell'interfaccia.
    C'è modo di crearla direttamente oppure occorre creare, salvarla come image per poi caricarla nel box?

    Se inserisco 'self' mi viene creata una interfaccia distaccata da quella che ho creato.

    Avete consigli???

    Grazie!









    --- Ultima modifica di mikkk1 in data 2019-10-14 22:34:19 ---

    --- Ultima modifica di mikkk1 in data 2019-10-14 22:34:51 ---


    --- Ultima modifica di mikkk1 in data 2019-10-14 22:36:48 ---