0

.txt次のようなデータを含むファイルがあります。

He: 22.1
Ar: 21.1
K:  1.22
U:  0.09
P:  22.0

今私がやりたかったのは、2 行目から 4 行目までを使用して円グラフをプロットすることです。次のコードを使用して、最初の 4 行を使用して同様のものをプロットすることができました。

f=open(filename,'r')
line = (f.next() for i in range(4))
pieces = (lin.split(':') for lin in line)
data = (a, float(b)) for a, b in pieces)
labels,values = zip(*data)
plt.pie(values,labels=labels)

このコードを使用して、最初の 4 行の同様のパイを描くことができました。しかし、line2 と line4 を使用して選択的にプロットする場合、ここでスライスを使用して目的の行を取り出すにはどうすればよいですか。

4

1 に答える 1

0

あなたが何を求めているのか理解できれば、それは本当に簡単です。ファイルの読み取り行を次のように変更します

line = f.readlines ()

これにより、すべてのデータがリストに入れられます。次に、最後の行を次のように変更します

plt.pie (values [start:stop], labels=labels [start:stop])

startもちろん、stop事前に定義した場所。したがって、2 行目から 4 行目では and を設定start = 2stop = 5ます。それはあなたが求めているものですか?

于 2012-06-11T03:20:18.163 に答える