Python中plt.plot()、plt.scatter()和plt.legend函数的用法示例
作者:Sunny.T
今天想要用matplotlib中的plt函数绘制图表,将多个数据曲线在一个图表中进行呈现,下面这篇文章主要给大家介绍了关于Python中plt.plot()、plt.scatter()和plt.legend函数用法的相关资料,需要的朋友可以参考下
plt.plot()函数
plt.plot(x, y, format_string, **kwargs)
参数 | 说明 |
---|---|
x | X轴数据,列表或数组,可选 |
y | Y轴数据,列表或数组 |
format_string | 控制曲线的格式字符串,可选 |
**kwargs | 第二组或更多(x,y,format_string),可画多条曲线 |
format_string 由颜色字符、风格字符、标记字符组成
- 颜色字符
- 'b' 蓝色 'm' 洋红色 magenta
- 'g' 绿色 'y' 黄色
- 'r' 红色 'k' 黑色
- 'w' 白色 'c' 青绿色 cyan
- '#008000' RGB某颜色 '0.8' 灰度值字符串
- 多条曲线不指定颜色时,会自动选择不同颜色
- 风格字符
- '‐' 实线
- '‐‐' 破折线
- '‐.' 点划线
- ':' 虚线
- '' ' ' 无线条
- 标记字符
- '.' 点标记
- ',' 像素标记(极小点)
- 'o' 实心圈标记
- 'v' 倒三角标记
- '^' 上三角标记
- '>' 右三角标记
- '<' 左三角标记…等等
**kwargs : 第二组或更多(x,y,format_string)
color : 控制颜色, color=‘green’
linestyle : 线条风格, linestyle=‘dashed’
marker : 标记风格, marker=‘o’
markerfacecolor: 标记颜色, markerfacecolor=‘blue’
markersize: 标记尺寸, markersize=20
b = np.arange(5) plt.plot(b,b*1.0,'g.-',b,b*1.5,'rx',b,b*2.0, 'b') plt.show()
plt.scatter()函数
plt.scatter()函数用于生成一个scatter散点图。
matplotlib.pyplot.scatter(x, y, s=20, c='b', marker='o', cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, hold=None, **kwargs
参数 | 解释说明 |
---|---|
x,y | 表示的是shape大小为(n,)的数组,也就是我们即将绘制散点图的数据点,输入数据。 |
s | 表示的是大小,是一个标量或者是一个shape大小为(n,)的数组,可选,默认20。 |
c | 表示的是色彩或颜色序列,可选,默认蓝色’b’。但是c不应该是一个单一的RGB数字,也不应该是一个RGBA的序列,因为不便区分。c可以是一个RGB或RGBA二维行数组。 |
marker | MarkerStyle,表示的是标记的样式,可选,默认’o’。 |
cmap | Colormap,标量或者是一个colormap的名字,cmap仅仅当c是一个浮点数数组的时候才使用。如果没有申明就是image.cmap,可选,默认None。 |
norm | Normalize,数据亮度在0-1之间,也是只有c是一个浮点数的数组的时候才使用。如果没有申明,就是默认None。 |
vmin,vmax | 标量,当norm存在的时候忽略。用来进行亮度数据的归一化,可选,默认None。 |
alpha | 标量,0-1之间,可选,默认None。 |
linewidths | 标记点的长度,默认None。 |
例子
import numpy as np import matplotlib.pyplot as plt np.random.seed(0) x=np.random.rand(20) y=np.random.rand(20) area=(50*np.random.rand(20))**2 plt.scatter(x,y,s=area,alpha=0.5) plt.show()
plt.legend()函数
1.设置图例的位置
plt.legend(loc=' ')
2.设置图例字体大小
fontsize : int or float or {‘xx-small', ‘x-small', ‘small', ‘medium', ‘large', ‘x-large', ‘xx-large'}
3.设置图例边框及背景
plt.legend(loc='best',frameon=False) #去掉图例边框 plt.legend(loc='best',edgecolor='blue') #设置图例边框颜色 plt.legend(loc='best',facecolor='blue') #设置图例背景颜色,若无边框,参数无效
4.设置图例标题
legend = plt.legend(["BJ", "SH"], title='Beijing VS Shanghai') #或者 plt.plot(["BJ", "SH"],loc='upper left',title='Beijing VS Shanghai')
5.设置图例名字及对应关系
legend = plt.legend([p1, p2], ["BJ", "SH"])
示例
import matplotlib.pyplot as plt import numpy as np x = np.arange(0,10,1) plt.plot(x,x,'r--',x,np.cos(x),'g--',marker='*') plt.xlabel('row') plt.ylabel('cow') plt.legend(["BJ","SH"],loc='upper left',loc='upper left') plt.show()
运行结果
总结
到此这篇关于Python中plt.plot()、plt.scatter()和plt.legend函数用法的文章就介绍到这了,更多相关plt.plot()、plt.scatter()和plt.legend函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!