多年来,我一直想知道为什么Python图例位置编号没有意义:
Location String Location Code
'best' 0
'upper right' 1
'upper left' 2
'lower left' 3
'lower right' 4
'right' 5
'center left' 6
'center right' 7
'lower center' 8
'upper center' 9
'center' 10
对我来说,将数字分配为好像在手机上一样有意义:
Location String Location Code
'best' 0
'upper left' 1
'upper center' 2
'upper right' 3
'center left' 4
'center' 5
'center right' 6
'lower left' 7
'lower center' 8
'lower right' 9
有什么办法可以在脚本中进行操作,每次绘制时都可以调用该脚本,因此不必每次都经过matplotlib site吗?
还是有任何更改,他们将很快对其进行更改?
ps:同时使用“右”和“中右”作为图例位置选项的目的是什么?
答案 0 :(得分:2)
这些数字实质上是为了向后兼容。 matplotlib文档中的大多数示例已被更改为使用文本格式。
对于文本,您只需要记住
并将其固定在屏幕上。
更简洁的方法 将使用“ compass”符号,例如“ N”,“ NW”,“ SE”等。已经建议使用here。我现在提出了这样的解决方案in this pull request。
答案 1 :(得分:2)
如果你绝望了,你可以做类似的事情
locations = [0, 2, 9, 1, 6, 10, 7, 3, 8, 4]
plt.legend(loc=locations[telephone_index])
(如果您真的很绝望,甚至可以为legend()
写一个包装器。)