我想为一个图例辩护,使它左右对齐,以便等于对齐。例如,我有以下代码:
import numpy as np
import matplotlib.pyplot as plt
KEu = 100.
KEm = 50.
KEl = 5.
X = np.linspace(1,10,10)
fig = plt.figure()
ax = plt.subplot(111)
ax.plot(X,KEu*X,label='Maximum Energy = {0:6.2f} MeV'.format(KEu))
ax.plot(X,KEm*X,label='Median Energy = {0:6.2f} MeV'.format(KEm))
ax.plot(X,KEl*X,label='Minimum Energy = {0:6.2f} MeV'.format(KEl))
ax.legend(loc='upper left')
plt.show()
我不知道如何添加情节,所以我将在下面给出一个书面例子:
-- Maximum Energy = 100.00 MeV
-- Median Energy = 50.00 MeV
-- Minimum Energy = 5.00 MeV
引用似乎是必要的,否则SO认为它是格式不良的代码。破折号代表线条。
我想让它左对齐,='s对齐,小数对齐。类似的东西:
-- Maximum Energy = 100.00 MeV
-- Median Energy = 50.00 MeV
-- Minimum Energy = 5.00 MeV
当然这并不完美,可能是我在剧情中能做的最好的,但我比原版更喜欢它。
我假设我需要手动执行此操作,因此我尝试添加空格,我尝试将一个字符串与一个左对齐组合,另一个右对齐,但没有成功。
这可能吗?
由于
答案 0 :(得分:2)
固定宽度字体可能是monospace
。
import numpy as np
import matplotlib.pyplot as plt
KEu = 100.
KEm = 50.
KEl = 5.
X = np.linspace(1,10,10)
fig = plt.figure()
ax = plt.subplot(111)
ax.plot(X,KEu*X,label=r"Maximum Energy = {0:6.2f} MeV".format(KEu))
ax.plot(X,KEm*X,label=r"Median Energy = {0:6.2f} MeV".format(KEm))
ax.plot(X,KEl*X,label=r"Minimum Energy = {0:6.2f} MeV".format(KEl))
ax.legend(loc='upper left', prop={'family': 'monospace'})
plt.show()