Python 使用matplotlib图例中的格式进行文本对齐

Python 使用matplotlib图例中的格式进行文本对齐,python,matplotlib,legend,Python,Matplotlib,Legend,我试图在matplotlib中使两个单词在图例中对齐。对于print语句,我可以使用可用于格式化的工具(对于右对齐),但在图例中,这有不同的结果 import matplotlib.pyplot as plt import numpy as np str1 = r'{:<18} {:>12}'.format('HadGEM2-ES'+',', r'$\lambda$') str2 = r'{:<18} {:>12}'.format('inmcm4'+',', r'$\l

我试图在matplotlib中使两个单词在图例中对齐。对于print语句,我可以使用可用于格式化的工具(<对于左对齐,>对于右对齐),但在图例中,这有不同的结果

import matplotlib.pyplot as plt
import numpy as np

str1 = r'{:<18} {:>12}'.format('HadGEM2-ES'+',', r'$\lambda$')
str2 = r'{:<18} {:>12}'.format('inmcm4'+',', r'$\lambda$')
print(str1)
print(str2)

plt.plot(np.arange(10), label=str1)
plt.plot(0.8*np.arange(10), label=str2)
plt.legend()
但图中显示的图例有所不同。如何使图形中的图例对齐


打印语句的间距正确,因为控制台中使用的字体是单空格。您可以通过以下方式在图例中复制此功能:

plt.legend(prop={'family': 'monospace'})

由于控制台中使用的字体为单空格,因此打印语句的间距正确。您可以通过以下方式在图例中复制此功能:

plt.legend(prop={'family': 'monospace'})