机器学习和数据分析-matplotlib绘制散点图

1.启动jupyter notebook
2.创建一个新的notebook,并导入matplotlib和numpy

#导入matplotlib
import matplotlib.pyplot as plt
#导入numpy
import numpy as np

机器学习和数据分析-matplotlib绘制散点图_第1张图片

一 : 基础知识讲解

1.绘制一个点

plt.scatter(3,5)

机器学习和数据分析-matplotlib绘制散点图_第2张图片
2.只显示图片

plt.scatter(3,5)
plt.show()

机器学习和数据分析-matplotlib绘制散点图_第3张图片
3.点默认为蓝色,可修改点的大小和颜色

# s指定大小  color指定颜色, r代表红色 g绿色 k黑色 y黄色
plt.scatter(3,5,s=200,color='r')
plt.show()

机器学习和数据分析-matplotlib绘制散点图_第4张图片
4.使用十六进制指定颜色

plt.scatter(3,5,s=200,color='#ff0000')
plt.show()

机器学习和数据分析-matplotlib绘制散点图_第5张图片
5.alpha指定透明度,值在0-1之间

plt.scatter(3,5,s=200,color='r',alpha=0.2)
plt.show()

机器学习和数据分析-matplotlib绘制散点图_第6张图片
6.marker可指定样式,常用的有o,*,+,.,d,D,h

plt.scatter(3,5,s=200,color='r',marker='*')
plt.show()

机器学习和数据分析-matplotlib绘制散点图_第7张图片
7.传入两个列表,分别可控制每个点的大小和颜色

x = [1,2,3,4]
y = [2,3,4,8]
plt.scatter(x,y,s=[20,40,80,200],color=['r','g','b','y'])
plt.show()

机器学习和数据分析-matplotlib绘制散点图_第8张图片
8.绘制非线性图

x1 = np.random.randint(1,10,size=(10,2))
x2 = np.random.randint(1,10,size=(10,2))
#输出x1
x1

机器学习和数据分析-matplotlib绘制散点图_第9张图片
第一列作为x轴,第二列作为y轴

plt.scatter(x1[:,0],x1[:,1],color='r')
plt.scatter(x2[:,0],x2[:,1],color='g')
plt.show()

机器学习和数据分析-matplotlib绘制散点图_第10张图片

二 : 案例联系

1.导入儿童年龄数据,当前目录下的X_height.txt保存了儿童身高数据
机器学习和数据分析-matplotlib绘制散点图_第11张图片

#导儿童身高数据
X=np.loadtxt('X_height.txt')
X

机器学习和数据分析-matplotlib绘制散点图_第12张图片
2.创建一个索引数组,表示女孩和男孩的数据

y = np.concatenate([np.zeros(18),np.ones(18)])
y

机器学习和数据分析-matplotlib绘制散点图_第13张图片
3.获取女孩的18条数据

#获取女孩年龄身高数据
X[y==0]

机器学习和数据分析-matplotlib绘制散点图_第14张图片
4.获取男孩的18条数据

#获取男孩年龄身高数据
X[y==1]

5.获取女孩的第一列年龄数据

X[y==0,0]

机器学习和数据分析-matplotlib绘制散点图_第15张图片
6.获取女孩的第二列身高数据

X[y==0,1]

机器学习和数据分析-matplotlib绘制散点图_第16张图片
7.绘制散点图,传入女孩和男孩的数据

plt.scatter(X[y==0,0],X[y==0,1],color='r')
plt.scatter(X[y==1,0],X[y==1,1],color='g')
plt.show()

机器学习和数据分析-matplotlib绘制散点图_第17张图片
从上面的图形可以看出,男孩在13岁左右,增加速度慢慢的超过了女孩

你可能感兴趣的:(python,数据可视化,机器学习)