将数字列表连接到字符串中,保持元素和字符之间的整体间距

时间:2019-03-07 09:12:04

标签: python string list join plot

我正在处理一个数字列表,其中每个数字均已格式化为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])

图片供参考

enter image description here

绘制文本代码:

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)

0 个答案:

没有答案