当前位置: 首页 > 编程笔记 >

关于matplotlib-legend 位置属性 loc 使用说明

斜烈
2023-03-14
本文向大家介绍关于matplotlib-legend 位置属性 loc 使用说明,包括了关于matplotlib-legend 位置属性 loc 使用说明的使用技巧和注意事项,需要的朋友参考一下

在使用matplotlib画图时,少不了对性能图形做出一些说明和补充。一般情况下,loc属性设置为'best'就足够应付了

plt.legend(handles = [l1, l2,], labels = ['a', 'b'], loc = 'best')

或直接loc = 0

plt.legend(handles = [l1, l2,], labels = ['a', 'b'], loc = 0)

除'best',另外loc属性有:

'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'upper center', 'center'

不说太多,上面是全部的快捷使用,满足一般需求。

demo:

import matplotlib.pyplot as plt
import numpy as np
 
# 绘制普通图像
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x**2
 
plt.figure()
# 在绘制时设置lable, 逗号是必须的
l1, = plt.plot(x, y1, label = 'line')
l2, = plt.plot(x, y2, label = 'parabola', color = 'red', linewidth = 1.0, linestyle = '--')
 
# 设置坐标轴的取值范围
plt.xlim((-1, 1))
plt.ylim((0, 2))
 
# 设置坐标轴的lable
plt.xlabel('X axis')
plt.ylabel('Y axis')
 
# 设置x坐标轴刻度, 原来为0.25, 修改后为0.5
plt.xticks(np.linspace(-1, 1, 5))
# 设置y坐标轴刻度及标签, $$是设置字体
plt.yticks([0, 0.5], ['$minimum$', 'normal'])
 
# 设置legend
plt.legend(handles = [l1, l2,], labels = ['a', 'b'], loc = 'best')
plt.show()

运行结果:

补充知识:设置图列(key/legend)的位置和大小 --gnuplot

先看几个例子:

//不显示图例。
unset key
//设置图例 显示在图形(内)的顶部居中,并且多个图例水平显示。
set key top horizontal center
//设置图例 显示在图形(外)的顶部居中,并且多个图例水平显示。
set key top outside horizontal center
//设置图例 显示的字体并加粗。
set key font "Times,18,Bold"
//调整图例行间隔
set key spacing 3
//调整图例中线段示例长度
set key samplen 2

set key 的语法规则

Syntax: 
   set key {on|off} {default}
       {{inside | outside} | {lmargin | rmargin | tmargin | bmargin}
        | {at <position>}}
       {left | right | center} {top | bottom | center}
       {vertical | horizontal} {Left | Right}
       {{no}reverse} {{no}invert}
       {samplen <sample_length>} {spacing <vertical_spacing>}
       {width <width_increment>}
       {height <height_increment>}
       {{no}autotitle {columnheader}}
       {title "<text>"} {{no}enhanced}
       {{no}box { {linestyle | ls <line_style>}
            | {linetype | lt <line_type>}
             {linewidth | lw <line_width>}}}
   unset key
   show key

Elements within the key are stacked according to vertical or horizontal. In the case of vertical, the key occupies as few columns as possible. That is, elements are aligned in a column until running out of vertical space at which point a new column is started. In the case of horizontal, the key occupies as few rows as possible.

图例是依据我们设置的水平显示或垂直显示进行堆叠式地显示。

对于垂直显示,pnuplot会占用尽可能少的行来放置我们的图例,当图例在一行显示不下时,它会另启一行来显示。

对于水平显示方式,pnuplot会占用尽可能少的列来放置我们的图例,当图例在一列显示不下时,它会另启一列来放置。

The vertical spacing between lines is controlled by spacing. The spacing is set equal to the product of the pointsize, the vertical tic size, and vertical_spacing. The program will guarantee that the vertical spacing is no smaller than the character height.

The defaults for set key are on, right, top, vertical, Right, noreverse, noinvert, samplen 4, spacing 1.25, title “”, and nobox.

以上这篇关于matplotlib-legend 位置属性 loc 使用说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍matplotlib中legend位置调整解析,包括了matplotlib中legend位置调整解析的使用技巧和注意事项,需要的朋友参考一下 在画一些曲线图(linecharts)时,常常会出现多条曲线同时画在一张图上面,这时候就需要对不同的曲线进行不同的标注,以使读者能够清晰地知道每条曲线代表的含义。当你画很少的几条曲线时,这时画图命令中自动产生的legend能够基本满足你的需要,

  • 本文向大家介绍matplotlib设置legend图例代码示例,包括了matplotlib设置legend图例代码示例的使用技巧和注意事项,需要的朋友参考一下 本文主要是关于matplotlib的一些基本用法。 Demo 结果展示: 总结 以上就是本文关于matplotlib设置legend图例代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言

  • 本文向大家介绍matplotlib图例legend语法及设置的方法,包括了matplotlib图例legend语法及设置的方法的使用技巧和注意事项,需要的朋友参考一下 1.图例legend基础语法及用法 legend语法参数如下: matplotlib.pyplot.legend(*args, **kwargs) Keyword Description loc Location code stri

  • 我有这样一个代码: 从图中可以看出,Fontsize中的设置不影响图例标题字体大小。 如何将图例标题的字体大小设置为较小的大小?

  • 问题内容: 我希望这在角度上真的很简单。 我有翻译人员和其他用户的清单 然后我有一个ng-repeat,我只想显示有语言的用户 但不幸的是,我似乎无法弄清楚如何通过属性的存在进行过滤。我尝试了各种方式 我不想为此编写一个外部过滤器,因为我敢肯定它可能成角度,但我只是无法正确理解这些术语。 问题答案: 说明: 考虑如下列表: 筛选出具有特定属性的对象或具有未定义或null的特定属性的对象: 筛选出不

  • 问题内容: 我在画布上添加了matplotlib图形,以便可以将其与pyqt集成到我的应用程序中。我环顾四周,似乎是要使用的方式(?),但是我无法像使用“普通”图一样向子图添加任何属性 人物设定 创建子图并添加数据 我想设置x和y标签,但如果这样做 如果我不使用子图就可以做到这一点 所以我想我的问题是,是否有可能进一步修改子图?或者我可以在不使用子图的情况下在pyqt画布中绘制图形,这样我就可以从