绘制连接点的线条

时间:2015-07-14 15:34:23

标签: python plot

我正在创建一个程序来确定某些高度的风的最小值,最大值和百分位数。该文件分为5列。到目前为止,我的代码看起来像这样:

import matplotlib.pyplot as plt
f = open('wind.txt', 'r')
for line in f.readlines():
    line = line.strip()
    columns = line.split()
    z = columns[0]
    u_min = columns[1]
    u_10 = columns[2]
    u_max = columns[4]
    u_90 = columns[3]

    plt.plot(u_min,z,'-o')
    plt.plot(u_max,z,'-o')

This shows the max and mins of the wind plt.show()

正如您所看到的那样,它只用一个点来绘制特定高度的每个最小值和最大值。我如何调整它,使它成为一条线。

2 个答案:

答案 0 :(得分:1)

由于评论而编辑的答案

创建连接所有最小值的行:

  1. 将所有最小值存储在列表中(使用追加)
  2. 绘制列表
  3. 代码:

    import matplotlib.pyplot as plt
    f = open('wind.txt', 'r')
    min_vector = []
    max_vector = []
    z_vector = []
    for line in f.readlines():
        line = line.strip()
        columns = line.split()
        z = columns[0]
        u_min = columns[1]
        u_10 = columns[2]
        u_max = columns[4]
        u_90 = columns[3]
    
        min_vector.append(u_min)
        max_vector.append(u_max)
        z_vector.append(z)
    
    plt.plot(min_vector, z_vector, '-o')
    plt.plot(max_vector, z_vector, '-o')
    

答案 1 :(得分:0)

如果您只需要从左侧分散的顶部到底部的单行,您可以这样做:

plot([u_min[0], u_min[-1], [z[0], z[-1], color='k', linestyle='-', linewidth=2)