2016-11-09 1 views
0

Ich bin neu in der Codierung und ich habe Probleme beim Plotten einige importierte Daten. Ich habe mit:Wie beschriftet Spalten von Daten als x und y

import numpy as np 
import matplotlib as plt 

np.loadtxt('file_name') 

und ich würde länger, aber viel so etwas wie dieses erhalten,

array([[ 2.45732966e+06, 9.97563892e-01], 
    [ 2.45732967e+06, 9.98023085e-01], 
    [ 2.45732967e+06, 1.02989578e+00], 
    [ 2.45732967e+06, 1.00883389e+00], 
    [ 2.45732967e+06, 1.00354891e+00]]) 

Von hier muss ich Spalte 1 als X-Daten beschriften und der zweiten Spalte als y, aber ich bin mir nicht sicher, wie das formatiert werden muss, um der Syntax zu entsprechen und mit Gleitkommazahlen zu arbeiten.

Antwort

1

Initialise matplotlib und die plotfunction

import matplotlib 
import matplotlib.pyplot as plt 

speichern Sie Ihre Daten in ein Array (seine nicht mehrere GB Daten vorausgesetzt) ​​

array = np.loadtxt('file_name') 

Grundstück es. Das [:, 0] kann wie ein Matrixelement gelesen werden, wobei: alle Werte sind. Also "schneidet" die erste Spalte (Zählung beginnt bei 0!) Aus Ihrem Array. Im Aufruf von plt.plot() können Sie auch angeben, ob Sie Linien, Punkte, Farbe, Größe usw. möchten, indem Sie weitere Argumente hinzufügen. Es gibt eine große Dokumentation.

plt.plot(array[:,0], array[:,1]) 

Ändern Sie Plt, um Ihr Grundstück anzupassen. Die folgenden Zeilen geben Ihnen Achsenbeschriftungen. Sie können auch Logscale etc.

plt.xlabel('X') 
plt.ylabel('Y') 

Zeigen Sie die Handlung. Angenommen, Sie sind in ipython arbeiten genannt mit --pylab = Innen

plt.show() 

Wenn Sie als pdf oder etwas zu retten (aus http://matplotlib.org/faq/howto_faq.html)

from matplotlib.backends.backend_pdf import PdfPages 
pp = PdfPages('myfirstplot.pdf') 
plt.savefig(pp, format='pdf') 
pp.close() 
0

So etwas wie das?

import numpy as np 
import matplotlib.pyplot as plt 

a = np.array([[ 2.45732966e+06, 9.97563892e-01], 
    [ 2.45732967e+06, 9.98023085e-01], 
    [ 2.45732967e+06, 1.02989578e+00], 
    [ 2.45732967e+06, 1.00883389e+00], 
    [ 2.45732967e+06, 1.00354891e+00]]) 

plt.plot(a[:,0],a[:,1]) 
plt.xlabel('x') 
plt.ylabel('y') 
plt.show() 
Verwandte Themen