Matplotlib模块

 


 

不求甚解,不断学习不断添加。。。

 


 

2017.10.26

  1.绘制简单的图像

    # 第一步创建显示画面,figure('show')指定图表名称   

1 plt.figure('data') 

Matplotlib模块_第1张图片

 

    #绘制图像-->>第一种:直接用plot函数绘制,其中可以指定绘制的参数(具体参数百度)

Matplotlib模块_第2张图片

    #绘制图像-->>第二种:利用函数绘制

 1 plt.scatter(x_data, y)#散点图 

Matplotlib模块_第3张图片

    #显示图像

      第一种:用Debug调试显示

      第二种:plt.show()显示,注意这是一次显示,显示之后就卡死了!!!

      第三种:plt.ion()#连续显示 + plt.show()

Matplotlib模块_第4张图片

 

 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()

Matplotlib模块_第5张图片

    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()

 

Matplotlib模块_第6张图片

  3.动态显示某个效果

     具体操作请看另外博客

     效果图如下:

Matplotlib模块_第7张图片

 

 

 

 

 

 

 

 

你可能感兴趣的:(Matplotlib模块)