Python Pyplot映射<;字符串,数字>;图矩阵上的对

Python Pyplot映射<;字符串,数字>;图矩阵上的对,python,string,text,matplotlib,Python,String,Text,Matplotlib,我想用pyplot执行以下操作,但找不到方法,可能不可能: 给定一组字符串S和自然数N。 给定一组项目I,附加一组P(字符串€S,数字€N)对P。 给定一个坐标系,y轴上有S,x轴上有N 现在我想在这个坐标系中映射每一对p,这样一个特定项目的所有相应点都通过线连接起来 然后对于每个项目,我在这个坐标系中有一个图形 一个问题是,如果有一个字符串s€s未包含在附加到某个项目的对中,则我有一些空值。这不应解释为(s,0),而应忽略 比如说,我有(1)使用的所有字符串的列表L1,(2)项I1和(3)项I

我想用pyplot执行以下操作,但找不到方法,可能不可能:

给定一组字符串S和自然数N。 给定一组项目I,附加一组P(字符串€S,数字€N)对P。 给定一个坐标系,y轴上有S,x轴上有N

现在我想在这个坐标系中映射每一对p,这样一个特定项目的所有相应点都通过线连接起来

然后对于每个项目,我在这个坐标系中有一个图形

一个问题是,如果有一个字符串s€s未包含在附加到某个项目的对中,则我有一些空值。这不应解释为(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轴上有自然数。每个项目的“点”应该结合起来

我希望我的意思很清楚。

这就是你想要的吗?

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()