在pyplot图例中添加内部空间

2024-05-12 14:05:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想证明一个图例是左对齐和右对齐的,这样等号就对齐了。例如,我有以下代码:

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()

我不知道如何添加绘图,因此我将在下面给出一个书面示例:

^{pr2}$

引用似乎是必要的,否则认为这是格式错误的代码。破折号代表线条。在

我想让它左对齐,对齐='和小数。比如:

-- Maximum Energy = 100.00 MeV
-- Median Energy  =  50.00 MeV  
-- Minimum Energy =   5.00 MeV

当然,这并不完美,也许是我在我的情节中所能做的最好的,但我比原著更喜欢它。在

我想我需要手动执行此操作,所以我尝试添加空白,我尝试将字符串与一个左对齐,另一个右对齐,但没有成功。在

这可能吗?在

谢谢


Tags: 代码importformatplotasnppltax
1条回答
网友
1楼 · 发布于 2024-05-12 14:05:18

固定宽度字体是可能的,即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()

enter image description here

相关问题 更多 >