python画图如何调整图例位置_matplotlib中legend位置调整解析

在画一些曲线图(linecharts)时,常常会出现多条曲线同时画在一张图上面,这时候就需要对不同的曲线进行不同的标注,以使读者能够清晰地知道每条曲线代表的含义。当你画很少的几条曲线时,这时画图命令中自动产生的legend能够基本满足你的需要,此时,你不需要做什么;但当你将很多个曲线画在一张图上时,自动产生的legend矩形框往往会覆盖住已经画出来的曲线,很不美观,这时你就需要写专门的代码对legend的位置进行精确的控制,而不能再依靠系统帮你自动控制了。

本文所讲的就是要解决如何在一张图上画多条曲线时,如何控制legend的位置。当你采用Python中的matplotlib包画图时,采用下面的代码即可控制legend的位置:

plt.legend(loc='upper center', bbox_to_anchor=(0.6,0.95),ncol=3,fancybox=True,shadow=Tru

上面bbox_to_anchor被赋予的二元组中,第一个数值用于控制legend的左右移动,值越大越向右边移动,第二个数值用于控制legend的上下移动,值越大,越向上移动。上述示例代码产生的legend样例如下:

20171219151149525.png?2017111915121

注:matlab中也可以完成legend位置的调整,也可以手工调整。

总结

以上就是本文关于matplotlib中legend位置调整解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我可以给您提供一些Python Matplotlib画图设置字体、字体大小、刻度密度、线条样式等的方法。 1. 设置字体和字体大小: 可以使用`rcParams`来设置全局字体和字体大小,也可以在特定的对象上进行设置。例如: ```python import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'Times New Roman' plt.rcParams['font.size'] = 16 # 或者使用下面的方式进行设置: fig, ax = plt.subplots() ax.set_xlabel('X Label', fontsize=16, fontfamily='Times New Roman') ax.set_ylabel('Y Label', fontsize=16, fontfamily='Times New Roman') ``` 2. 设置刻度密度: `xticks`和`yticks`可以设置刻度的位置,`xticklabels`和`yticklabels`可以设置刻度标签的内容,`tick_params`可以设置刻度的样式,例如: ```python import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) y = np.sin(x) fig, ax = plt.subplots() ax.plot(x, y) ax.set_xticks([0, 2, 4, 6, 8, 10]) ax.set_xticklabels(['0', '2', '4', '6', '8', '10'], fontsize=12) ax.set_yticks([-1, 0, 1]) ax.set_yticklabels(['-1', '0', '1'], fontsize=12) ax.tick_params(axis='both', which='major', length=10, width=2, labelsize=12) ax.tick_params(axis='both', which='minor', length=5, width=1, labelsize=10) ``` 3. 设置线条样式: 可以使用`plot`函数的`linestyle`参数来设置线条样式,例如: ```python import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) y1 = np.sin(x) y2 = np.cos(x) fig, ax = plt.subplots() ax.plot(x, y1, linestyle='-', linewidth=2, label='sin(x)') ax.plot(x, y2, linestyle='--', linewidth=2, label='cos(x)') ax.legend(loc='upper right', fontsize=12) ``` 以上是一些基本的设置方法,您可以根据具体需求进行调整
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值