1

このグラフをプロットするためにフォーマットを正しく設定しようとすると、いくつかの問題が発生します。これは私がこれまでに持っているものです

from pylab import*

with open("spineprox.txt") as f:
    data = f.read()

data = data.split('\n')

x = [column.split(' ')[0] for column in data]
y = [column.split(' ')[0] for column in data]

plt.title("Plot title...")    
plt.xlabel('your x label..')
plt.ylabel('your y label...')

plt.plot(x,y, c='r', label='the data')

次に、次のエラーが表示されますValueError: invalid literal for float(): 56.25 0.000000578。このエラーの意味がわかりません。助けが必要です!

テキスト ファイルのフォーマットは次のようになります。

56.25   0.000000578 
56.2501 0.000003219 
56.2502 0.000007031 
56.2503 0.000001969 
56.2504 0.000005641 
56.2505 0.000006891 
56.2506 0.000008656 
56.2507 0.000005109 
56.2508 0.000007937 
56.2509 0.000006266 
56.251  0.000009547 
56.2511 0.000011828 
56.2512 0.000007297 
56.2513 0.000008641 
56.2514 0.000008969 
56.2515 0.000008234 
56.2516 0.000007984 
56.2517 0.000010266 
56.2518 0.000004594 
56.2519 0.000008469 
56.252  0.000006297
4

2 に答える 2

2

あなたの問題は、数値がまだ文字列であることです。どこにも float に変換していません。

x = [float(column.split(' ')[0]) for column in data]
y = [float(column.split(' ')[0]) for column in data]

ただし、車輪を再発明しないでくださいnumpy.loadtxt。ファイルを手動で解析するよりもはるかに優れたオプションを使用することをお勧めします。

import numpy as np
x,y = np.loadtxt('spineprox.txt').T
于 2013-05-09T10:20:36.120 に答える
1

テキスト ファイルを読み取るには、1 行ずつ読み取って解析する代わりに、組み込み関数を使用することをお勧めします。

np.loadtxt("spineprox.txt")

ドキュメントについては、こちらを参照してください: http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html

次に、次のようになり、配列の列としてアクセスできxますy

data = np.loadtxt("spineprox.txt") 
x = data[:,0] 
y = data[:,1]

plt.plot(x,y)

またはx, y = data.TWimが提案したように

于 2013-05-09T10:19:38.060 に答える