(完美解决)matplotlib图例(legend)如何自由设置其位置、大小以及样式。

文章目录

  • 前言
  • 位置:loc
  • 位置:bbox_to_anchor
  • 大小
  • 样式
  • 前言

    plt.legend()
    

    我们知道,这一条代码会帮我们显示图例,而且通常,其会放置在图片中一个不错的位置。但是如果我们的数据,占满了整个图像,此时,其放的位置就会出问题了。

    那么我们该如何自由设置图例位置呢?

    位置:loc

    这个参数内置了一些位置,如果这些位置恰好有你想要的,那么用这个就行了,很方便。

    plt.legend(loc=1)#这个就等价于将图例放置在右上角的位置。
    

    位置:bbox_to_anchor

    这个是绝招,因为其可以控制任意位置。

    plt.legend(bbox_to_anchor=(1,0))
    

    这个玩意是一个坐标,原点就是图的左下角。但是,这个坐标的数值表示的是比例。比如

    (1,0)#右下角
    (0,1)#左上角
    (0.5,0.5)#中间
    (0.4,0.4)#中间往左下一点,哈哈。
    
    

    所以说,很简单了,你自己慢慢调到你想要的位置就行了。注意,上面还支持负数哦。


    最终,成功调节到了一个中间,偏左的位置哈哈。

    吃水不忘挖井人,学习自https://www.freesion.com/article/239347665/

    大小

    我们只需要legend函数里面传入下面这个东西即可。

    legend(prop = {'size':8})
    

    据我所知,在matplotlib,这个prop变量几乎可以用在任何地方,不只是legend。

    样式

    我们看到的样式总是竖排的,每次都是,其实我们可以更改之,比如我们有两个图例,那么我们设置下面这个为2,就是默认并排展示,而不是并列展示。

    legend(ncol=2)#默认为1,并列展示。
    

    从而变成如下的图例。

    来源:音程

    物联沃分享整理
    物联沃-IOTWORD物联网 » (完美解决)matplotlib图例(legend)如何自由设置其位置、大小以及样式。

    发表回复