首页 > 编程语言 >python画图如何调整图例位置_python中图例的位置怎么手动调整

python画图如何调整图例位置_python中图例的位置怎么手动调整

时间:2022-10-26 09:48:06浏览次数:87  
标签:box 外侧 python 位置 放在 标识 图例 图框

展开全部

1.最近遇到一个问题,关于图例legend如何画在图32313133353236313431303231363533e78988e69d8331333363393662外的问题,并以适合的比例显示出来。

2.首先传统的做法如下,这种方式并不能满足我的要求,而且是显示在图内。

ax1.legend(loc='center left', bbox_to_anchor=(0.2, 1.12),ncol=3)1

loc表示图例的位置,有多种形式:

‘North’ 图例标识放在图顶端

‘South’ 图例标识放在图底端

‘East’ 图例标识放在图右方

‘West’ 图例标识放在图左方

‘NorthEast’ 图例标识放在图右上方(默认)

‘NorthWest 图例标识放在图左上方

‘SouthEast’ 图例标识放在图右下角

‘SouthWest’ 图例标识放在图左下角12345678

有人说简单,有相同的方式,如下经测试不行,可能是本人用的python版本不行,所用的方式就是和前面一样,采用如下的方式来替换上面的legend位置。

‘NorthOutside’ 图例标识放在图框外侧上方

‘SouthOutside’ 图例标识放在图框外侧下方

‘EastOutside’ 图例标识放在图框外侧右方

‘WestOutside’ 图例标识放在图框外侧左方

‘NorthEastOutside’ 图例标识放在图框外侧右上方

‘NorthWestOutside’ 图例标识放在图框外侧左上方

‘SouthEastOutside’ 图例标识放在图框外侧右下方

‘SouthWestOutside’ 图例标识放在图框外侧左下方

(以上几个将图例标识放在框图外)

‘Best’ 图标标识放在图框内不与图冲突的最佳位置

‘BestOutside’ 图标标识放在图框外使用最小空间的最佳位置1234567891011

bbox_to_anchor:表示legend的位置,前一个表示左右,后一个表示上下。当使用这个参数时。loc将不再起正常的作用,ncol=3表示图例三列显示。

3.有人说要解决这个问题可以采用对坐标轴放大或是缩小的方式,经本人测试可以行,但是,放大缩小的比率不让人满意,且很难控制到适合的位置。有兴趣可以参考链接,最终得出此方法不行。

4.那么就没有办法了吗?NO.NO,请看下面,最终完成如下。

resize,m_lfit,w_600,h_800,limit_1

resize,m_lfit,w_600,h_800,limit_1

这就是本人要的效果,不废话,具体做法如下

box = ax1.get_position()

ax1.set_position([box.x0, box.y0, box.width , box.height* 0.8])12

首先按上面的方式,如果你想将图例放上面就box.height*0.8,放右边就box.width*0.8其它方式一样。同时配合下面来使用。

ax1.legend(loc='center left', bbox_to_anchor=(0.2, 1.12),ncol=3)1

主要是bbox_to_anchor的使用,自己可以修改参数试下,good luck for you.

 

标签:box,外侧,python,位置,放在,标识,图例,图框
From: https://www.cnblogs.com/ltkekeli1229/p/16827185.html

相关文章

  • python 正则表达式
    简介在一些实际项目中,我们可能会遇到需要匹配对应的数据,例如爬虫时候需要匹配等,这时候就需要使用到正则表达式了正则匹配常用规则固定字符{abc}a/b/c[^abc]取所有......
  • 利用nohup使得Python Flask项目在服务器上后台运行
    一、问题:今天在部署PythonFlask项目到线上的时候,在AidLux系统的虚拟环境中,运行项目可以正常访问到api,但是在Xshell中,一旦Ctrl+C或者关闭ssh,他就停止了,api再也请求不到了......
  • python socket 网页服务器
    参考来源:https://blog.csdn.net/qq_40828914/article/details/120895412 #用socket实现一个简单的服务器,可以通过浏览器来访问importsocket,timedefhandle(conn):#......
  • C#中DataTable新增列、删除列、更改列名、交换列位置
    一、新增列1.1、新增列/*新增列*/dataTable.Columns.Add("列名称",Type.GetType("数据类型"));/*比如添加【name】列,string类型的内容*/dataTable.Columns.Add(......
  • python制作django批量创建数据离线脚本
    scripts/init_news.pyimportosimportsysimportdjango#准备base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.append(base_dir......
  • python类
    概念表示具有相同属性和方法的对象的集合,在使用类时,先声明在创建类实例,通过访问类实例访问类中的属性方法元类python中一切皆为对象,所有对象都是通过实例化或者调用......
  • python获取当前运行函数名
     两种方式:#!/usr/bin/envpython3#coding:utf-8importsys,inspectdeftest_a():print('funcname:',sys._getframe().f_code.co_name)deftest_b():print......
  • 全球名校AI课程库(23)| Harvard哈佛 · 基于Python/JavaScript的Web编程课程『Web Progr
    ......
  • python基础re模块与正则
    正则表达式前戏正则表达式是用来匹配与查找字符串的,从网上爬取数据自然或多或少会用到正则表达式,python的正则表达式要先引入re模块,正则表达式以r引导案例:手机号校验......
  • 【Python】监控笔记本电池状态
    pipinstallpsutilif__name__=='__main__':importpsutilbattery=psutil.sensors_battery()plugged=battery.power_pluggedpercent=str(......