• matplotlib的使用——contour等高线的绘制


    等高线绘制常用函数

    plt.contourf()

    该函数用于定义等高线图两条线之间的填充物。
    应用方法如下:

    # 调用等高线的填充物
    plt.contourf(X,Y,f_x_y,8,alpha = 0.5,cmap = plt.cm.hot)
    

    其中,X,Y分别代表网格化后的x,y坐标;f_x_y对于等高线而言,其代表了高度;8代表等高线要分为10块(输入0时等高线分为2块);alpha代表每个填充物的透明度;cmap代表填充的色调,这里选择hot热烈的色调,其可选择的内容可以参考https://matplotlib.org/examples/color/colormaps_reference.html。
    其调用结果为:

    在这里插入图片描述

    plt.contour()

    该函数用于定义等高线中的线。
    应用方法如下:

    # 定义等高线的线的颜色,宽度
    C = plt.contour(X,Y,f_x_y,8,colors='black',linewidth = 5)
    

    其中,X,Y分别代表网格化后的x,y坐标;f_x_y对于等高线而言,其代表了高度;8代表等高线要分为10块(输入0时等高线分为2块);colors代表线的颜色;linewidth代表线的宽度。
    在这里插入图片描述

    plt.clabel()

    该函数用于定义等高线中的标签。
    应用方法如下:

    # clabel用于定义等高线的标签
    plt.clabel(C,inline = True,fontsize = 10)
    

    其中,C代表需要添加标签的线;inline代表标签添加的位置,当其为True时是上面那副等高线图的效果,当其为False时,线会穿过数字;fontsize代表标签大小。下图为inline = False时的效果。
    在这里插入图片描述
    下图为inline = True时的效果:
    在这里插入图片描述

    应用示例

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(-1,1,50)
    y = np.linspace(-1,1,50)
    # x、y的网格化
    X,Y = np.meshgrid(x,y)
    
    # 计算f(x,y)的值,对于等高线而言,其代表了高度
    f_x_y = -(X**4+Y**3-2*X)*np.sin(X)
    
    # 调用等高线的填充物
    plt.contourf(X,Y,f_x_y,8,alpha = 0.5,cmap = plt.cm.hot)
    
    # 定义等高线的线的颜色,宽度
    C = plt.contour(X,Y,f_x_y,8,colors='black',linewidth = 5)
    
    # clabel用于定义等高线的标签
    plt.clabel(C,inline = True,fontsize = 10)
    
    plt.xticks(())
    plt.yticks(())
    plt.show() 
    


    天道酬勤 循序渐进 技压群雄
  • 相关阅读:
    Python爬虫爬取糗事百科段子内容
    Python 的安装与配置(Windows)
    接口测试(二)—HttpClient
    接口测试(一)
    第一篇 什么是软件测试
    Python数据分析与挖掘第一篇—基本介绍及环境搭建
    从零开始搭建简易的异步非阻塞web框架
    Python多线程补充—GIL
    Python并发之多进程
    Python并发之多线程
  • 原文地址:https://www.cnblogs.com/wuyuan2011woaini/p/15682207.html
Copyright © 2020-2023  润新知