不求甚解,不断学习不断添加。。。
2017.10.26
1.绘制简单的图像
# 第一步创建显示画面,figure('show')指定图表名称
1 plt.figure('data')
#绘制图像-->>第一种:直接用plot函数绘制,其中可以指定绘制的参数(具体参数百度)
#绘制图像-->>第二种:利用函数绘制
1 plt.scatter(x_data, y)#散点图
#显示图像
第一种:用Debug调试显示
第二种:plt.show()显示,注意这是一次显示,显示之后就卡死了!!!
第三种:plt.ion()#连续显示 + plt.show()
1 import numpy as np 2 import matplotlib.pyplot as plt 3 import tensorflow as tf 4 5 if __name__ == '__main__': 6 #创建数据 7 x_data = np.linspace(-1,1,300) 8 noise = np.random.normal(0,0.05,[300,]) 9 y = np.square(x_data) + noise + 0.5 10 y_data = np.square(x_data) + 0.5 11 #绘图散点图 12 plt.figure("data") 13 plt.plot(x_data, y, '.') 14 #绘曲线图 15 plt.figure("show") 16 plt.plot(x_data,y_data) 17 #合并显示 18 plt.figure("data & show") 19 plt.scatter(x_data, y)#散点图 20 plt.plot(x_data,y_data,'k',lw=3) 21 plt.show()
2.面向对象和面向整体的关系:
刚开始学习不知道啥意思,有时候直接用plt去操作,有时候ax=plt.figure(),用ax去操作。。。下面举个例子就懂了。
下面以add_subplot(x,y,z)为例子,x:行,y:列,z:区域(从左向右数)
add_subplot(1,2,1) = add_subplot(121)把figure()分成一行两列显示,其中此次显示的位置为第一个区域,也就是左边区域。
A.面向对象操作
程序会利用返回值去操作,一个部分一个变量控制,控制麻烦但是有条不紊!
1 import numpy as np 2 import matplotlib.pyplot as plt 3 import tensorflow as tf 4 5 if __name__ == '__main__': 6 #创建数据 7 x_data = np.linspace(-1,1,300) 8 noise = np.random.normal(0,0.05,[300,]) 9 y = np.square(x_data) + noise + 0.5 10 y_data = np.square(x_data) + 0.5 11 12 fig = plt.figure('data') 13 axis = fig.add_subplot(121) 14 axis.scatter(x_data,y) 15 axis.plot(x_data,y_data,'r') 16 fig.show()
B.面向整体操作
程序始终以plt为操作,创建什么figure就用什么显示,对于一张图很好用,但是对于很多图操作就特别麻烦!
1 import numpy as np 2 import matplotlib.pyplot as plt 3 import tensorflow as tf 4 5 if __name__ == '__main__': 6 #创建数据 7 x_data = np.linspace(-1,1,300) 8 noise = np.random.normal(0,0.05,[300,]) 9 y = np.square(x_data) + noise + 0.5 10 y_data = np.square(x_data) + 0.5 11 #绘图散点图 12 plt.figure("data") 13 plt.plot(x_data, y, '.') 14 #绘曲线图 15 plt.figure("show") 16 plt.plot(x_data,y_data) 17 #合并显示 18 plt.figure("data & show") 19 plt.scatter(x_data, y)#散点图 20 plt.plot(x_data,y_data,'k',lw=3) 21 plt.show()
3.动态显示某个效果
具体操作请看另外博客
效果图如下: