Also ich versuche, 2 verschiedene Arrays der gleichen Dimensionen mit Pythons Matplotlib zu plotten. Dies ist der Code, den ich derzeit habe:Python einfach linear plotten
from numpy import *
from pylab import *
import matplotlib.pyplot as plt
p, pdot, s400, dist=loadtxt("cc45list.txt", usecols=(1,2,3,4), unpack=True)
for i in arange(0,45,1):
k = (s400*(dist**2))/((p**1)*(pdot**0.5))
kbar=sum(k)
var=abs(k-kbar)
x=((p**1)*(pdot**0.5))
y=s400*(dist**2)
kbararray=ones((1,45))*kbar
Ich versuche, eine einfache Linie zu zeichnen, wobei die x-Achse x
zu sein und die y-Achse zu sein kbararray
(die in der Schleife berechnet nur ein Array mit dem gleichen Wert ist). Ich habe versucht, dieses Stück matplotlib verwendet, die in der Vergangenheit für meine anderen Plots gearbeitet hat:
plot(x,kbararray)
Aber ich halte am Ende recieveing diese Fehlermeldung:
Traceback (most recent call last):
File "C:\PortablePython_1.1_py2.6.1\App\April_2010\graphing lines.py", line 3, in <module>
plot (range(0,11),[9,4,5,2,3,5,7,12,2,3],'.-',label='sample1')
File "C:\PortablePython_1.1_py2.6.1\App\Lib\site-packages\matplotlib\pyplot.py", line 2141, in plot
ret = ax.plot(*args, **kwargs)
File "C:\PortablePython_1.1_py2.6.1\App\Lib\site-packages\matplotlib\axes.py", line 3432, in plot
for line in self._get_lines(*args, **kwargs):
File "C:\PortablePython_1.1_py2.6.1\App\Lib\site-packages\matplotlib\axes.py", line 311, in _grab_next_args
for seg in self._plot_args(remaining, kwargs):
File "C:\PortablePython_1.1_py2.6.1\App\Lib\site-packages\matplotlib\axes.py", line 288, in _plot_args
x, y = self._xy_from_xy(x, y)
File "C:\PortablePython_1.1_py2.6.1\App\Lib\site-packages\matplotlib\axes.py", line 228, in _xy_from_xy
raise ValueError("x and y must have same first dimension")
ValueError: x and y must have same first dimension
Von dem, was ich dieser Fehler recherchiert habe kommt normalerweise auf, wenn Sie versuchen, 2 Arrays mit verschiedenen Dimensionen zu plotten, aber ich bin mir sicher, dass sie die gleiche Dimension haben, oder? Warum sollte ich diesen Fehler bekommen? Entschuldigung, wenn das eine grundlegende Frage ist/wo anders beantwortet, aber ich konnte nichts finden. Vielen Dank.
Warum '(p ** 1)' .. Auch, warum den gleichen Wert in einer Schleife berechnen? Berechnen Sie es einmal. Sie können auch die Dimensionen von 'x' und' kbarray' überprüfen, indem Sie 'len (x)' und 'len (kbarray)' ausdrucken. Dies könnte helfen, das Problem zu lösen. –