我正在创建一个程序来确定某些高度的风的最小值,最大值和百分位数。该文件分为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')
plt.show()
正如您所看到的那样,它只用一个点来绘制特定高度的每个最小值和最大值。我如何调整它,使它成为一条线。
答案 0 :(得分:1)
由于评论而编辑的答案
创建连接所有最小值的行:
代码:
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)