Forum
  
    >> 
    
      Programmazione Python
    
  
    >> 
    
      Calcolo scientifico
    
  
  >>
  
    Dati e grafico
  
  
  
  
  
  
  
   
  
    
  
  
    
    
      
      
  
Pagina: 1 2 3 4 5 Avanti
  
Esegui il login per scrivere una risposta.
      
  
      
    | 
          
Scritto da Andrdne  | 
        
          
 2017-12-30 16:53:49 - Dati e grafico 
  
 | 
      
| 
          
          
             Salve a tutti. Vi espongo il mio problema che purtroppo non sono riuscito a trovare nel forum: su un documento del blocco note ho scritto due colonne di numeri che ho salvato col formato .txt. Con questi numeri vorrei creare un grafico su python senza dover scrivere i numeri sull'editor ma leggendoli direttamente dal file .txt. Qualcuno sa come fare? Dovrò per forza fare così perché i miei dati, più avanti, li dovrò acquisire solo da plasduino. Grazie in anticipo per la risposta. 
          
          
            
          
          
         | 
      |
| 
          
Scritto da stix77  | 
        
          
 2017-12-30 17:14:24 - Re: Dati e grafico 
  
 | 
      
| 
          
          
             ciao, devi leggere il file txt, assegnare il primo numero in colonna a una lista, e il secondo ad un altra in modo che il modulo matplotlib possa disegnarti il grafico.
 
          
          
            
          
          
        come sono separati i due numeri, con uno spazio?  | 
      |
| 
          
Scritto da Andrdne  | 
        
          
 2017-12-30 17:20:42 - Re: Dati e grafico 
  
 | 
      
| 
          
          
             Grazie per la risposta. Si sono separati da un numero. 
          
          
            
          
          
         | 
      |
| 
          
Scritto da stix77  | 
        
          
 2017-12-30 20:43:10 - Re: Dati e grafico 
  
 | 
      
| 
          
          
             Prova ad allegare un file di txt tipico di come lo vorresti, che proviamo a farlo insieme lo script 
          
          
            
          
          
         | 
      |
| 
          
Scritto da Andrdne  | 
        
          
 2017-12-30 23:46:47 - Re: Dati e grafico 
  
 | 
      
| 
          
          
             Ehm perdona l'ignoranza ma come dovrei fare? E' il primo anno che utilizzo Python   
          
          
            
          
          
         | 
      |
| 
          
Scritto da stix77  | 
        
          
 2017-12-31 09:55:31 - Re: Dati e grafico 
  
 | 
      
| 
          
          
             creare un grafico in python sono 4 righe di codice, poi lo vedremo
 
          
          
            
          
          
        il "difficile" del tuo esercizio è prelevare i dati dal file txt e inserirli in due distinte liste di python per dividerli in ascisse e ordinate. ma il difficile non è leggere i dati, ma visto che sono "mischiati" bisogna prendere una chiave di lettura per capire come dividerli in x e y per questo ti chiedevo di postare qui qualche riga di quel file txt, così possiamo ragionare su come prelevarli e riporli correttamente nelle due liste  | 
      |
| 
          
Scritto da stix77  | 
        
          
 2017-12-31 10:46:18 - Re: Dati e grafico 
  
 | 
      
| 
          
          
             comunque per il grafico in sè puoi fare come segue:
 
          
          
            
          
          
        se non hai ancora installato matplotlib basta che apri il prompt e digiti python -mpip install -U matplotlib tutta la documentazione la trovi su https://matplotlib.org/ lo script per plottare un grafico è il seguente (non lo posto come codice, tanto non ha identazioni, e almeno lo commento qui): #importiamo la funzione pyplot dal modulo matplotlib e la rinominiamo per comodità in plt import matplotlib.pyplot as plt #creo due liste x e y che passeranno i dati. adesso ho messo due numeri a caso giusto per fare una linea, noi dovremmo metterci i dati provenienti dal tuo file txt, sostanzialmente andando ad appendere i dati in lista x = [10,20] y = [15,30] #do istruzioni alla linea su dove prendere i dati, e le assegno un nome in legenda line, = plt.plot(x, y, label ="linea 1") #creo la tabellina di legenda plt.legend() #nomi degli assi plt.xlabel("asse x") plt.ylabel("asse y") #nome del grafico plt.title("grafico di prova") #infine creo il grafico a schermo plt.show() --- Ultima modifica di stix77 in data 2017-12-31 10:48:59 ---  | 
      |
| 
          
Scritto da Andrdne  | 
        
          
 2017-12-31 12:19:01 - Re: Dati e grafico 
  
 | 
      
| 
          
          
             Ciao ti ringrazio ancora per la risposta. Allego qui sotto il file dei dati se può servire. Il problema è che i dati saranno in due colonne. Ti copio quello che ha scritto un mio collega ma che io non ho capito: 
          
          
            
              
            
          
          
        def leggi_dati(m_nome): m_input_file=open(m_nome) m_nome_input="C:\Projects\PythonPrimTabDati.txt" m_input_file=open(m_nome_input) linee_dati=m_input_file.readlines() vx=[] vy=[] nom_var=[] for li in linee_dati: m_linea=li.split() vx.append(m_linea0) vy.append(m_linea1) nom_var.append(vx0) nom_var.append(vy0) out.vx=numpy.asarray(vx[1:]) out_vx=out_vx.astype("float32") print(vx[1:]) print(out_vx) (lo stesso per vy) return vx, vy, nom_var --- Ultima modifica di Andrdne in data 2017-12-31 12:20:40 --- --- Ultima modifica di Andrdne in data 2017-12-31 12:21:04 ---  | 
      |
| 
          
Scritto da stix77  | 
        
          
 2017-12-31 12:57:43 - Re: Dati e grafico 
  
 | 
      
| 
          
          
             ciao, riusciresti a copiare lo script dentro alla funzione code del forum, sennò non riesco a capire l'identazione e i blocchi di codice
 
          
          
            
          
          
        comunque il tuo collega ha fatto quello che ci serve, sostanzialmente apre il file txt e appende le variabili alle due liste vx e vy per poter plottare il grafico  | 
      |
| 
          
Scritto da Andrdne  | 
        
          
 2017-12-31 13:34:55 - Re: Dati e grafico 
  
 | 
      
Pagina: 1 2 3 4 5 Avanti
Esegui il login per scrivere una risposta.
  