刚才画散点图要用到图例,可是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图例,参数使用说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。