Matplotlib绘制等高线图

原文地址

分类目录——Matplotlib

  • 先观察效果

    1581650259899

  • 导入支持包

    import matplotlib.pyplot as plt
    import numpy as np
    
  • 定义生成高度的函数f(x,y)

    def f(x,y):
        # 生成高度(等高线的‘高’)的函数
        return (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 -y**2)
    
  • 生成测试数据

    n = 256
    x = np.linspace(-3, 3, n)
    y = np.linspace(-3, 3, n)
    X,Y = np.meshgrid(x, y)
    
  • 绘制高度颜色图

    # use plt.contourf to filling contours
    # X, Y and value for (X,Y) point
    plt.contourf(X, Y, f(X, Y), 30, alpha=.9, cmap=plt.get_cmap('rainbow'))
    # 30这个数字值可以理解为图中颜色跨度
    # alpha     透明度
    # cmap      pyplot下的color map,取值可参见https://matplotlib.org/examples/color/colormaps_reference.html
    

    此时出图的话是这样的

    1581650491085

  • 绘制等高线

    扫描二维码关注公众号,回复: 9252799 查看本文章
    # use plt.contour to add contour lines
    C = plt.contour(X, Y, f(X, Y), levels=8, colors='black', alpha=.7)
    # colors    等高线的颜色
    # levels    等高线的密度(越大越密)
    # alpha     登高线的不透明度,[0,1],越大越不透明
    
  • 在等高线上添加高度标注

    plt.clabel(C, inline=True, fontsize=10)
    # inline    是否把lable嵌入在线内
    # fontzise  标注字大小
    # color     标注字颜色
    # inline_spacing : float
    
  • 隐藏轴上的刻度

    # 隐藏轴上的刻度
    plt.xticks(())
    plt.yticks(())
    
  • 出图

    plt.show()
    

    效果如文首图所示

  • 说明

    按顺序复制程序即可执行

  • 参考文献

    程序主要出自 Contours 等高线图,略有改动

发布了102 篇原创文章 · 获赞 68 · 访问量 5069

猜你喜欢

转载自blog.csdn.net/BBJG_001/article/details/104387549
今日推荐