2

私はpyplotで次のことをしたいのですが、それを行う方法が見つかりません。おそらくそれは不可能です。

文字列のセットSと自然数Nが与えられます。(文字列€S、数€N)ペアpのセットPが接続されているアイテムIのセットが与えられます。y軸にS、x軸にNがある座標系が与えられます。

ここで、特定のアイテムのすべてのポイントが線で接続されるように、この座標系で各ペアpをマップします。

次に、アイテムごとに、この座標系に1つのグラフがあります。

1つの問題は、特定のアイテムにアタッチされたペアに含まれていない文字列s€Sがある場合、ある種のNULL値があることです。これは(s、0)として解釈されるべきではなく、単に無視されます...

たとえば、(1)使用されているすべての文字列のリストL1、(2)アイテムI1、および(3)アイテムI2があります。

L1 = [London, Paris, Tokio, Berlin, Barcelona, Reykjavik]
I1 = [[London,0],[Paris,10],[Barcelona,23]]
I2 = [Paris,10],[Tokio,19],[Berlin,21],[Reykjavik,23]]

ここで、I1とI2を、y軸にL1、x軸に自然数を持つ座標系にマッピングする必要があります。各項目の「ポイント」を組み合わせる必要があります。

私が何を意味するのかが明確であることを願っています。

4

1 に答える 1

1

これは、あなたの望むことですか? ここに画像の説明を入力してください

from pylab import *

L1 = ['London', 'Paris', 'Tokio', 'Berlin', 'Barcelona', 'Reykjavik']
pos = arange(len(L1))
yticks(pos, L1)

I1 = [['London',0],['Paris',10],['Barcelona',23]]
I2 = [['Paris',10],['Tokio',19],['Berlin',21],['Reykjavik',23]]

I1_y = [L1.index(el[0]) for el in I1]
I1_x = [el[1] for el in I1]

I2_y = [L1.index(el[0]) for el in I2]
I2_x = [el[1] for el in I2]

plot(I1_x, I1_y, 'o-')
plot(I2_x, I2_y, 'x-')
grid(True)
savefig('countries.png')
show()
于 2012-05-03T08:35:01.597 に答える