考研对信息的获取至关重要,此公众号会发表计算机考研(初复试信息)、夏令营等资料,方便考研人对信息的获取,节约自身查找资料的时间
1、二维散点图
二维散点图的函数原型:
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None,
vmin=None, vmax=None, alpha=None, linewidths=None,
verts=None, edgecolors=None, hold=None, data=None,
**kwargs)
x
,y
对应了平面点的位置,s
控制点大小,c
对应颜色指示值,也就是如果采用了渐变色的话,我们设置c=x
就能使得点的颜色根据点的x
值变化,cmap
调整渐变色或者颜色列表的种类marker
控制点的形状alpha
控制点的透明度,我喜欢在数据量大的时候设置较小的alpha
值,然后调整一下s
值,这样产生重叠效果使得数据的聚集特征会很好地显示出来
2、其中散点的形状参数marker如下:
3、其中颜色参数c如下:
4、基本的使用方法如下:
[python] view plain copy
- #导入必要的模块
- import numpy as np
- import matplotlib.pyplot as plt
- #产生测试数据
- x = np.arange(1,10)
- y = x
- fig = plt.figure()
- ax1 = fig.add_subplot(111)
- #设置标题
- ax1.set_title('Scatter Plot')
- #设置X轴标签
- plt.xlabel('X')
- #设置Y轴标签
- plt.ylabel('Y')
- #画散点图
- ax1.scatter(x,y,c = 'r',marker = 'o')
- #设置图标
- plt.legend('x1')
- #显示所画的图
- plt.show()
结果如下:
5、当scatter后面参数中数组的使用方法,如s,当s是同x大小的数组,表示x中的每个点对应s中一个大小,其他如c,等用法一样,如下:
(1)、不同大小
[python] view plain copy
- #导入必要的模块
- import numpy as np
- import matplotlib.pyplot as plt
- #产生测试数据
- x = np.arange(1,10)
- y = x
- fig = plt.figure()
- ax1 = fig.add_subplot(111)
- #设置标题
- ax1.set_title('Scatter Plot')
- #设置X轴标签
- plt.xlabel('X')
- #设置Y轴标签
- plt.ylabel('Y')
- #画散点图
- sValue = x*10
- ax1.scatter(x,y,s=sValue,c='r',marker='x')
- #设置图标
- plt.legend('x1')
- #显示所画的图
- plt.show()
(2)、不同颜色
[python] view plain copy
- #导入必要的模块
- import numpy as np
- import matplotlib.pyplot as plt
- #产生测试数据
- x = np.arange(1,10)
- y = x
- fig = plt.figure()
- ax1 = fig.add_subplot(111)
- #设置标题
- ax1.set_title('Scatter Plot')
- #设置X轴标签
- plt.xlabel('X')
- #设置Y轴标签
- plt.ylabel('Y')
- #画散点图
- cValue = ['r','y','g','b','r','y','g','b','r']
- ax1.scatter(x,y,c=cValue,marker='s')
- #设置图标
- plt.legend('x1')
- #显示所画的图
- plt.show()
结果:
(3)、线宽linewidths
[python] view plain copy
- #导入必要的模块
- import numpy as np
- import matplotlib.pyplot as plt
- #产生测试数据
- x = np.arange(1,10)
- y = x
- fig = plt.figure()
- ax1 = fig.add_subplot(111)
- #设置标题
- ax1.set_title('Scatter Plot')
- #设置X轴标签
- plt.xlabel('X')
- #设置Y轴标签
- plt.ylabel('Y')
- #画散点图
- lValue = x
- ax1.scatter(x,y,c='r',s= 100,linewidths=lValue,marker='o')
- #设置图标
- plt.legend('x1')
- #显示所画的图
- plt.show()