Bu parçacıkların bir tonu olduğunu biliyorum, ancak bunların hepsi 3x3 matrisler ve bu tür şeyler gibi çok basit durumlar içindir ve çözümler durumumla başlamaya bile başlamaz. Bu yüzden G'ye karşı l1'i grafiklemeye çalışıyorum (bu bir on bir değil, bir L1 değil). Veriler bir excel dosyasından yüklediğim dosyada. Excel dosyası 14x250'dir, bu yüzden her biri 250 veri noktası olan 14 argüman vardır. Başka bir kullanıcı vardı (Hugh Bothwell'e bağır!), Kodumdaki bir hata ile bana yardımcı oldu, ama şimdi başka bir hata ortaya çıktı. Yani buradaIndexError: dizi için çok fazla dizin
söz konusu kod şudur:
# format for CSV file:
header = ['l1', 'l2', 'l3', 'l4', 'l5', 'EI',
'S', 'P_right', 'P1_0', 'P3_0',
'w_left', 'w_right', 'G_left', 'G_right']
def loadfile(filename, skip=None, *args):
skip = set(skip or [])
with open(filename, *args) as f:
cr = csv.reader(f, quoting=csv.QUOTE_NONNUMERIC)
return np.array(row for i,row in enumerate(cr) if i not in skip)
#plot data
outputs_l1 = [loadfile('C:\\Users\\Chris\\Desktop\\Work\\Python Stuff\\BPCROOM - Shingles analysis\\ERR analysis\\l_1 analysis//BS(1) ERR analysis - l_1 - P_3 = {}.csv'.format(p)) for p in p3_arr]
col = {name:i for i,name in enumerate(header)}
fig = plt.figure()
for data,color in zip(outputs_l1, colors):
xs = data[:, col["l1" ]]
gl = data[:, col["G_left" ]] * 1000.0 # column 12
gr = data[:, col["G_right"]] * 1000.0 # column 13
plt.plot(xs, gl, color + "-", gr, color + "--")
for output, col in zip(outputs_l1, colors):
plt.plot(output[:,0], output[:,11]*1E3, col+'--')
plt.ticklabel_format(axis='both', style='plain', scilimits=(-1,1))
plt.xlabel('$l1 (m)$')
plt.ylabel('G $(J/m^2) * 10^{-3}$')
plt.xlim(xmin=.2)
plt.ylim(ymax=2, ymin=0)
plt.subplots_adjust(top=0.8, bottom=0.15, right=0.7)
tüm programı çalıştırdıktan sonra, ben hata iletisini alma:
Traceback (most recent call last):
File "C:/Users/Chris/Desktop/Work/Python Stuff/New Stuff from Brenday 8 26 2014/CD_ssa_plot(2).py", line 115, in <module>
xs = data[:, col["l1" ]]
IndexError: too many indices for array
ve ben bu sorunun koştu önce, başka karıştığı vardı Yukarıdaki hata mesajının altındaki çizgi aşağıdakileri ifade eder:
Traceback (most recent call last): File "FILE", line 119, in <module>
gl = data[:, col["G_left" ]] * 1000.0 # column 12
IndexError: index 12 is out of bounds for axis 1 with size 12
İlkini anlıyorum hata, ama sadece sabitleme sorunları yaşıyorum. İkinci hata benim için kafa karıştırıcı olsa da. Patronum gerçekten boynumu solumak böylece herhangi bir yardım BÜYÜK takdir edilecektir!
IndexError: too many indices for array
xs = data[:, col["l1" ]]
'Çok fazla endeksleri' çok fazla indeks değerlerini verdik anlama gelir: nokta çok kolay olmasa da
diziler dayalı sıfır, –
Peşinde 'baskı data' koyarak denediniz 12 eleman dizideki hiçbir endeksi 12 olduğunu' verilerin, renk zip (outputs_l1, renkler) için: 'veri görünüyor ne her satırı görmek için sevmek? Beklediğiniz şekilde biçimlendirilmiş gibi görünmüyor (sizin inancınız 14 elemanlık bir dizi olacak, doğru? Sadece 12 elemanın bulunduğu örneklere benziyor) 'yazdığımda – zehnpaard
' print data 'veya' print outputs_l1 ', bunların geçersiz sözdizimi olduğunu söylüyor. ve 14 tane argüman var, bu yüzden son ikisi # 12 ve # 13 olacak, bu da grafik için aradığım şey. Ve sadece 12 olan herhangi bir örneği nerede görüyorsun? Bu daha önce benim sorunumdu ve bunu düzeltdiğimi düşündüm ama – Chris