我有一个程序,在此程序中,在有能力的车辆路线问题的应用中,我在地图上显示点。有一所高中(标有“Lycée”的红色正方形)和一堆绿色的公交车站,公交车站的编号为i
载有q[i]
个学生,其中q是字典。
因此,我以给定的坐标绘制了公交车站,这样它们的容量就显示在它们的旁边:
The plot result, with double-digit indexes not showing up properly
引起我麻烦的代码部分是这一行:
import matplotlib.pyplot as plt
for i in arrets: #arrets is the list of bus stops
plt.annotate("$q_{0}={1}$".format(i, q[i]))
显然,_{0}
与$...$
的组合只能使用第一个数字,这就是为什么我在达到两位数时会得到难看的结果。我知道在Python 2中,您可以使用{...}
来绕开它,这样:
plt.annotate('$q_%d=%d$'%(i, q[i]))
将成为
plt.annotate('$q_{%d}=%d$'%(i, q[i]))
返回两位数的索引,没有任何问题。但是,相同的技巧不适用于已经使用{}
的新语法;我已经尝试过,还有一些猜测,例如放置两个下划线引起错误,或者使用{0:0=2d}
仅在开头添加零,然后“推”第二个数字。
我似乎无法在网上找到有关整个过程的任何帮助,因为它看起来像是带有plt.annotate
符号的$
的“隐藏”属性。有人知道什么语法可以工作,以便用几位数的索引来制作更好看的图吗?预先感谢。