如何在一个循环中使用pyplot.text()在每个循环后在绘图上打印不同的字符串

时间:2015-05-07 16:02:35

标签: python-2.7 text matplotlib

我在循环中遇到了关于pyplot.text()的问题。我打印一个桁架,所以我需要为每个关节分配不同的字母,但是我找不到使用我已经创建的存储每个关节坐标的循环的方法。有什么想法怎么做?帮助将不胜感激。

我按以下方式使用该命令:

pyplot.text(x_coordinate, y_coordinate, 'r$text', fontsize = 10)

所以真正的问题是如何每次为给定的字符串更改$ text,例如:

Words = ['A','B','C']
for i in Words:
    pyplot.text(x_coordinate,y_coordinate, i, fontsize=20) 

这首先是我的意思。 只是不知道如何以正确的方式做到这一点。

谢谢!

1 个答案:

答案 0 :(得分:0)

最简单的肯定是:

Words = ['A','B','C']
for i,word in enumerate(Words):
    pyplot.text(x_coordinate[i],y_coordinate[i], word, fontsize=20)

假设x_coordinatey_coordinate是与Words长度相同的序列。

也许更自然的是将您的坐标存储为(x,y)元组的列表,并且(假设您需要标签AB等,而且还有其他内容超过26个):

for i, (x,y) in enumerate(coords):
    # make text label: 'A', 'B', 'C', ...
    label = chr(i+65)
    pyplot.text(x, y, label, fontsize=20)