关于matplotlib:学习神经网络-绘图matplotlib

137次阅读

共计 2230 个字符,预计需要花费 6 分钟才能阅读完成。

1. 简略折线图
导入 matplotlib 包中的 pyplot 函数,重命名为 plt
创立一个数字列表
plt.plot(调用创立的数字列表)
plt 调用 show 将绘制的好的折线图显示进去

import matplotlib.pyplot as plt
costs = [1,2,3,4,5,6,3,7,2]
plt.plot(costs)
plt.ylabel('cost')
plt.xlabel('epochs (per 100)')
plt.title("Learning rate =")
plt.show()


2. 校对图形
下面因为只对 x 轴做了定义所以 y 轴都是不确定性的导致不精确
导入 matplotlib 包中的 pyplot 函数,重命名为 plt
创立一个数字列表(1)
再创立一个数字列表(2)
plt.plot(调用创立的数字列表(1),(2),lienwidth = 数字)
plt 调用 show 将绘制的好的折线图显示进去

x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y, linewidth=5)
plt.show()

3. 散状图
在神经网络中为了描述数据集中不同样本的散布状况,经常要绘制散状图。
用 scatter()绘制散点图并设置其款式。
plt.scatter(x 轴的点的地位,y 轴的点的地位,s = 数字(散点的大小))#创立为散点图
plt.title(“题目”,fontsize = 数字) #增加题目,并批改题目字体大小
plt.xlabel(“横坐标标签”,fontsize = 数字) #增加横坐标标签并批改字体大小
plt.ylabel(“纵坐标标签”,fontsize = 数字) #增加纵坐标标签并批改字体大小
plt.tick_params(axis =“both”,which =‘major’,labelsize= 数字) #axis =‘’设定批改哪个坐标进行批改,both 为全副批改,xl 为只批改横坐标,y 为只批改纵坐标(不设定为默认 both),labelsize 用于设置刻度线标签的字体大小
参数 which 的值为‘major’、’minor’、’both’,别离代表设置主刻度线、副刻度线以及同时设置,默认值为’major’(主刻度线、副刻度线相似于厘米尺。CM 与 MM 的区别)
plt 调用 show 将绘制的好的折线图显示进去
上面是单个点的散状图:

plt.scatter(2, 4, s=200)
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)
plt.tick_params(axis='both', which='major', labelsize=14)
plt.show()

上面是多个点的散状图,并用不同色彩示意其分类不同,用参数 c 示意对应的色彩值(color),如果是两种数值,那么点就是两种色彩,多种数值,点就是多种色彩。
参数 c 能够是一个序列,如:plt.scatter(a,b,c=[‘b’,’r’,’b’,’r’,’b’],s=80)
此时 c 的序列是一个色彩序列,除了上述的简洁写法,还能够应用 RGB 或 RBGA:plt.scatter(a,b,c=[‘#f00′,’#0f0′,’#f00′,’#0f0′,’#f00’],s=80)

x1 = [1,2,5,3,4,6,7,2,10,12]
x2 = [5,12,15,13,14,16,17,12,13,22]
c = ['b','b','b','r','b','r','b','b','r','b'] 
#c = ['#0000ff','#0000ff','#0000ff','#ff0000','#0000ff','#ff0000','#0000ff','#0000ff','#ff0000','#0000ff']
plt.scatter(x1,x2,c=c,s=30)
plt.show()


然而,在数据集中,咱们个别不会设置色彩,因为标签 Y 自身就是分好类的,这种状况就须要应用 cmap 参数,cmap=plt.cm.Spectral。留神,plt.cm.Spectral 是一个色彩映射集,参数 Y 的序列中呈现了 n 个不同的值,而后为每一个值调配一个色彩。

x1 = [1,2,5,3,4,6,7,2,10,12]
x2 = [5,12,15,13,14,16,17,12,13,22]
y = [1,1,1,0,1,0,1,1,0,1] 
plt.scatter(x1,x2,c=y,s=10,cmap=plt.cm.Spectral)
plt.show()

下面样本太少,看不出成果,再来一个模仿图,这样就清晰多了:

import sklearn.datasets
import numpy as np
np.random.seed(3)
train_X, train_Y = sklearn.datasets.make_moons(n_samples=300, noise=.2) #300 #0.2 
# Visualize the data
plt.scatter(train_X[:, 0], train_X[:, 1], c=train_Y, s=40, cmap=plt.cm.Spectral);
train_X = train_X.T
train_Y = train_Y.reshape((1, train_Y.shape[0]))
plt.show()
print(train_X)

正文完
 0