• 循环实现:将格点数据绘制在等值线上


    kallan兄弟,你好。

    我前几天好像在matplotlib的示例中见过类似的例子,不过那个好像是三维的。

    看到你的问题后回去找了下,没找到。

    然后我想了下,这的问题本质就是在figure上显示文字。应该可以用text方法实现。

    没有你的数据,我只能模拟一下。

    比如:在下图中的曲线上显示数字,并根据数值调整不同颜色

    import numpy as np
    import matplotlib.pyplot as plt
    
    
    X = np.linspace(0.0, 5.0, 100)
    Y = np.cos(2 * np.pi * X)
    
    plt.figure()
    plt.plot(X, Y, '-og', ms=3)
    
    
    plt.show()

    import numpy as np
    import matplotlib.pyplot as plt
    
    
    X = np.linspace(0.0, 5.0, 100)
    Y = np.cos(2 * np.pi * X)
    
    plt.figure()
    plt.plot(X, Y, '-og', ms=3)
    
    # ============================================================
    # 根据y的值生成颜色,当然也可以根据X,Y生成的Z来生成color
    colors = []
    for y in Y:
        if y > 0.5:
            colors.append('red')
        elif y > 0.0:
            colors.append('yellow')
        elif y > -0.5:
            colors.append('green')
        else:
            colors.append('blue')
    
    # 显示所有数字
    for x, y, c in zip(X, Y, colors):
        s = '{:.2f}'.format(y)
        plt.text(x-0.1, y-0.01, s, color=c, fontsize=10) # plt.text只能单个地显示文本,所以要用循环。
                                                         # 另:x, y都向左下偏移了一点
    # ============================================================
    
    plt.show()

     

    不一定有用,但是真心希望能帮到你。

  • 相关阅读:
    java面试的那些事
    java多线程实现复制大文件
    java心跳发送
    Java实现缓存(LRU,FIFO)
    java并发阻塞队列
    java之路
    Intellij IDEA中使用Protobuf的正确姿势
    Flink JobManager HA模式部署(基于Standalone)
    查看Flink的Job Graph时的问题
    Flink从Kafka 0.8中读取多个Topic时的问题
  • 原文地址:https://www.cnblogs.com/hhh5460/p/5147109.html
Copyright © 2020-2023  润新知