图矩阵上的Pyplot映射<string,number>对

2024-05-15 00:56:45 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

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

一个问题是,如果有一个字符串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]]

现在要映射到坐标系L1-2上的数字。每个项目的“点”应该合并。在

我希望我的意思很清楚。在


Tags: 项目方法字符串l1数字坐标系londonparis
1条回答
网友
1楼 · 发布于 2024-05-15 00:56:45

这是你想要的吗? enter image description here

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

相关问题 更多 >

    热门问题