Python可视化库matplotlib.pyplot里contour与contourf的区别

contour和contourf都是画三维等高线图的,不同点在于contourf会对等高线间的区域进行填充,区别如下:

 

[python] view plain copy
 
  1. import numpy as np  
  2. import matplotlib.pyplot as plt  
  3. from matplotlib.colors import ListedColormap  
  4. x=np.array([1,2])  
  5. y=np.array([1,2])  
  6. z=np.array([[1,2],[2,3]])  
  7. plt.xlim(1,2)  
  8. plt.ylim(1,2)  
  9. colors = ('red', 'blue', 'lightgreen', 'gray', 'cyan')  
  10. cmap = ListedColormap(colors[:len(np.unique(z))])  
  11. plt.contourf(x,y,z,cmap=cmap)   ###  
  12. plt.show()  


 

 

 

[python] view plain copy
 
  1. import numpy as np  
  2. import matplotlib.pyplot as plt  
  3. from matplotlib.colors import ListedColormap  
  4. x=np.array([1,2])  
  5. y=np.array([1,2])  
  6. z=np.array([[1,2],[2,3]])  
  7. plt.xlim(1,2)  
  8. plt.ylim(1,2)  
  9. colors = ('red', 'blue', 'lightgreen', 'gray', 'cyan')  
  10. cmap = ListedColormap(colors[:len(np.unique(z))])  
  11. plt.contour(x,y,z,cmap=cmap)   ###  
  12. plt.show()  



 

无论contour还是contourf,都是绘制三维图,其中前两个参数x和y为两个等长一维数组,第三个参数z为二维数组(表示平面点xi,yi映射的函数值)。

正是由于contourf可以填充等高线之间的空隙颜色,呈现出区域的分划状,所以很多分类机器学习模型的可视化常会借助其展现。

posted @ 2018-06-12 10:21  jude_python  阅读(8331)  评论(0编辑  收藏  举报