关于python 的legend图例,参数使用说明

刚才画散点图要用到图例,可是matplotlib.pyplot.plot(x,y,'.')画出的散点图中图例是两个点(因为plot默认画的是线,需要两个端点来表示线,所以是两个点),matplotlib.pyplot.scatter(x,y,'.')画出的散点图中图例是三个点(这个我理解不了为什么,scatter散点的大小可以自己设置,我猜可能跟这个有关)。

我画两个例子,大家看看。

import numpy as np
import matplotlib.pyplot as plt
from pylab import *

mpl.rcParams['font.sans-serif'] = ['SimHei']
x = np.arange(1,9)
y = x
plt.figure(figsize=(5,4.5)) #设置画图窗口大小
plt.plot(x,y,"ro")  #画图
plt.title("这是plot画出的图",fontsize='15') #添加标题
plt.xlim((0,10))  #设置x轴最大最小值
plt.ylim((0,10))  #设置y轴最大最小值
plt.xlabel('x')  #添加x轴图标
plt.ylabel('y')  #添加y轴图标
plt.legend('y')  #添加图例
plt.show()

import numpy as np
import matplotlib.pyplot as plt
from pylab import *

mpl.rcParams['font.sans-serif'] = ['SimHei']
x = np.arange(1,9)
y = x
plt.figure(figsize=(5,4.5)) #设置画图窗口大小
plt.scatter(x,y,marker="o",color='r')  #画图
plt.title("这是scatter画出的图",fontsize='15') #添加标题
plt.xlim((0,10))  #设置x轴最大最小值
plt.ylim((0,10))  #设置y轴最大最小值
plt.xlabel('x')  #添加x轴图标
plt.ylabel('y')  #添加y轴图标
plt.legend('y')  #添加图例
plt.show()

看,上边的图例都不是一个点,这跟matlab很不同,找了半天博客啥的也没找到解决办法(有的图是一个点,但是程序一运行就是两个或者三个点的,不知道为什么),还是帮助文档靠谱,直接找到了解决办法,先把网址甩出来https://matplotlib.org/api/_as_gen/matplotlib.pyplot.legend.html#matplotlib-pyplot-legend

这里我先说下解决办法,等我回头有时间再来更新一下把legend的各个参数给解释下。

plot函数需要在legend中添加一个参数 numpoints=1

scatter函数需要在legend中添加一个参数 scatterpoints=1

以上这篇关于python 的legend图例,参数使用说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 关于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', '

  • python matplotlib实现将图例放在图外

    关于matplotlib如何设置图例的位置?如何将图例放在图外?以及如何在一幅图有多个子图的情况下,删除重复的图例?我用一个简单的例子说明一下. import pandas as pd import numpy as np import matplotlib.pyplot as plt fig = plt.figure(1) ax1 = fig.add_subplot(2,2,1) ax2 = fig.add_subplot(2,2,2) ax3 = fig.add_subplot(2,2,3)

  • matplotlib中legend位置调整解析

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

  • 关于python 的legend图例,参数使用说明

    刚才画散点图要用到图例,可是matplotlib.pyplot.plot(x,y,'.')画出的散点图中图例是两个点(因为plot默认画的是线,需要两个端点来表示线,所以是两个点),matplotlib.pyplot.scatter(x,y,'.')画出的散点图中图例是三个点(这个我理解不了为什么,scatter散点的大小可以自己设置,我猜可能跟这个有关). 我画两个例子,大家看看. import numpy as np import matplotlib.pyplot as plt from

  • python可视化plotly 图例(legend)设置

    目录 一.图例(legend) 二.update_layout(legend={}) 相关参数及示例 一.图例(legend) import plotly.io as pio import plotly.express as px import plotly.graph_objects as go from plotly.subplots import make_subplots import pandas as pd import numpy as np # 设置plotly默认主题 pio.

  • python matplotlib中文显示参数设置解析

    最近在学习python著名的绘图包matplotlib时发现,有时候图例等设置无法正常显示中文,于是就想把这个问题解决了. PS:本文仅针对Windows,其他平台仅供参考. 原因 大致就是matplotlib库中没有中文字体. 我安装的anaconda,这是对应的matplotlib的字体所在文件夹(怎么找到matplotlib配置文件夹所在,下面解决方案会叙述,easyman~). C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fon

  • 深入理解python中函数传递参数是值传递还是引用传递

    目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是"传对象引用"的方式.实际上,这种方式相当于传值和传引用的一种综合.如果函数收到的是一个可变对象(比如字典 或者列表)的引用,就能修改对象的原始值--相当于通过"传引用"来传递对象.如果函数收到的是一个不可变对象(比如数字.字符或者元组)的引用,就不能 直接修改原始对象--相当于通过"传值"来传递对象. 你可以在很多讨论该问题

  • Python中函数的参数定义和可变参数用法实例分析

    本文实例讲述了Python中函数的参数定义和可变参数用法.分享给大家供大家参考.具体如下: 刚学用Python的时候,特别是看一些库的源码时,经常会看到func(*args, **kwargs)这样的函数定义,这个*和**让人有点费解.其实只要把函数参数定义搞清楚了,就不难理解了. 先说说函数定义,我们都知道,下面的代码定义了一个函数funcA def funcA(): pass 显然,函数funcA没有参数(同时啥也不干:D). 下面这个函数funcB就有两个参数了, def funcB(a,

  • 理解Python中函数的参数

    定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解. Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码. 默认参数 我们仍以具体的例子来说明如何定义函数的默认参数.先写一个计算x2的函数: def power(x

  • 深入解析Python中函数的参数与作用域

    传递参数 函数传递参数时的一些简要的关键点: 参数的传递是通过自动将对象赋值给本地变量名来实现的.所有的参数实际上都是通过指针进行传递的,作为参数被传递的对象从来不自动拷贝. 在函数内部的参数名的赋值不会影响调用者. 改变函数的可变对象参数的值会对调用者有影响. 实际上,Python的参数传递模型和C语言的相当相似: 不可变参数"通过值"进行传递.像整数和字符串这样的对象是通过对象引用而不是拷贝进行的,但是因为不论怎么样都不可能在原处改变不可变对象,实际的效果就很像创建了一份拷贝. 可

  • Python进阶-函数默认参数(详解)

    一.默认参数 python为了简化函数的调用,提供了默认参数机制: def pow(x, n = 2): r = 1 while n > 0: r *= x n -= 1 return r 这样在调用pow函数时,就可以省略最后一个参数不写: print(pow(5)) # output: 25 在定义有默认参数的函数时,需要注意以下: 必选参数必须在前面,默认参数在后: 设置何种参数为默认参数?一般来说,将参数值变化小的设置为默认参数. python标准库实践 python内建函数: prin

  • python中sys.argv参数用法实例分析

    本文实例讲述了python中sys.argv参数用法.分享给大家供大家参考.具体分析如下: 在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉. 今天又好好学习了一把,总算是大彻大悟了. Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明: 1.使用sys.argv[]的一简单实例 import sys,os os.system(sys.argv[1]) 这个例

  • matplotlib设置legend图例代码示例

    本文主要是关于matplotlib的一些基本用法. 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 = 'par

随机推荐