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

猜你喜欢

转载自blog.csdn.net/u010199776/article/details/88796616