首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >matplotlib图例栏和文本不对齐

matplotlib图例栏和文本不对齐
EN

Stack Overflow用户
提问于 2018-04-02 14:02:06
回答 1查看 186关注 0票数 0

我使用matplotlibpython2.7中得到一个具有多个轨迹的图形。我得到这个数字作为我的代码的输出:

但是,正如您所看到的,每个轨迹的标题都与相应的颜色线不对齐。我使用了legend的选项,但没有找到解决方案。

你有什么想法吗?

这是我的代码:

代码语言:javascript
运行
复制
import numpy as np
import matplotlib.pyplot as plt

liste = range(1,13)
labels = ['3-3','3-4','3-5','3-6','4-3','4-4',
          '4-5','4-6','5-3','5-4','5-5','5-6',
          '6-3','6-4','6-5','6-6']

plt.figure(1)
plt.subplot(2,1,1)

for cnt, j in enumerate(labels):    
    a1 = range(100) # iter
    a2 = np.random.randint(10,size=[100]) # dnn
    a3 = np.ones((100)) # optimal

    if cnt == 0:
        plt.plot(a1,a3,label='BS', color='blue')
        plt.plot(a1, np.divide(a3,a3), color='blue')

    title_font = {'size':'11', 'color':'black', 'weight':'normal',
               'verticalalignment':'bottom'}

    plt.plot(a1,a2,label=j, color='red')


plt.xlabel('episode')
plt.ylabel('cost')
plt.grid(True)

lgd=plt.legend(bbox_to_anchor=(0., 1.0, 1.0, 0.102), 
                loc=3, ncol=len(liste), mode="expand", borderaxespad=0.)

plt.show()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-02 15:06:12

图例句柄和标签不适合“图例”框。在删除mode="expand"标签时,您可能会看到这一点。

要获得图例条目占用的空间较少,请使用handlelengthhandletextpadcolumnspacing,并在合适的范围内播放参数。如果情况仍然不是这样,则需要使用更少的列。将ncols设置为较低的数字。例如:

代码语言:javascript
运行
复制
lgd=plt.legend(bbox_to_anchor=(0., 1.02, 1.0, 0.102),
               handlelength=0.9, handletextpad=0.3,columnspacing=0.7,
               loc=3, ncol=9, mode="expand", borderaxespad=0.)

一个人会得到一个与所有传说条目相匹配的图像。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49612763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档