Posted in Python onApril 17, 2020
刚才画散点图要用到图例,可是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图例,参数使用说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。
关于python 的legend图例,参数使用说明
- Author -
不会卖萌的企鹅声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@