我正在处理一个数字列表,其中每个数字均已格式化为2个字符,即'9','20','1'等。
我的问题是,当我通过str.join将列表转换成字符串时,新字符串在打印时保持正确的间距,但是对于绘图却没有。我可以添加一个前导零以保持完整性,但出于美学目的,我想保留一个数字。
这些列表中有2个已转换为具有不同数字的字符串,因此当它们变化时,它们开始彼此偏离。可以像打印一样保持间距完整性,以打印文本。
文本打印如下(间距完美,宽度相同):
1 3 4 2 2 4 4 2 1 1 1 1 1 1 6 14 11 16 16 10 5 4 3 3 6
2 4 4 4 3 5 5 3 1 2 1 1 1 3 14 18 13 21 20 12 10 6 4 4 8
但是这样绘制(整体间距和宽度均关闭)。
1 3 4 2 2 4 4 2 1 1 1 1 1 1 6 14 11 16 16 10 5 4 3 3 6
2 4 4 4 3 5 5 3 1 2 1 1 1 3 14 18 13 21 20 12 10 6 4 4 8
我知道在连接中使用字符之间的间距,但这是我的一些代码:
q = [1, 3, 4, 2, 2, 4, 4, 2, 1, 1, 1, 1, 1, 1, 6, 14, 11, 16, 16, 10, 5, 4, 3, 3, 6]
q1 = [2, 4, 4, 4, 3, 5, 5, 3, 1, 2, 1, 1, 1, 3, 14, 18, 13, 21, 20, 12, 10, 6, 4, 4, 8]
ddd = ['{:2}'.format(x) for x in q]
dddd = ['{:2}'.format(x) for x in q1]
q3 = " ".join(['{:>2}'.format(x) for x in ddd])
q4 = " ".join(['{:>2}'.format(x) for x in dddd])
图片供参考
绘制文本代码:
ax.text(0.035, 0.97, q3, horizontalalignment='left',
verticalalignment='baseline', fontsize=9.5, transform=ax.transAxes)
ax.text(0.035, 0.92, q4, horizontalalignment='left',
verticalalignment='baseline', fontsize=9.5, transform=ax.transAxes)