在 Matplotlib 中修正轨迹
Correcting Trajectory Tracks in Matplotlib
我 运行 遇到了一些绘图点在绘图后连接回第一个绘图点的问题。在 matplotlib 中绘制轨迹点后,我需要找到一种方法来关闭或清除轨迹点,以及如何使每条线都有自己的颜色。
来自文本文件的示例数据:
CMCI,36,16.9,-68.1
AVNI,0,15.7,-60.1
AVNI,12,16.1,-62.8
AVNI,24,16.5,-65.5
AVNI,36,17,-68.5
AVNI,48,17.6,-71.5
BAMD,12,16.3,-62.1
BAMM,168,23.1,-87.9
BAMS,84,20.3,-79.5
BAMS,96,20.6,-81.6
BAMS,108,21.1,-83.9
BAMS,120,21.5,-85.9
BAMS,132,22,-87.9
CLIP,12,16,-61.6
CLIP,24,16.4,-63.4
CLIP,36,17.1,-65.1
CLIP,48,18,-66.9
CLIP,72,20.2,-70
文本文件中的最后两列是 lat/lon。
代码:
data = np.genfromtxt("/home/.../.../.../all", delimiter=',', skip_header=True)
model = data[:,0]
fhr = data[:,1]
lats = data[:,2]
lons = data[:,3]
x,y = m(lons,lats)
plt.plot(x,y,'ro-')
plt.show()
您可以单独绘制每个轨道,使用您的 model
列索引 x
和 y
。您需要扩展 models
列表以在您的数据文件中包含所有可能的模型。
data = np.genfromtxt("/home/.../.../.../all", delimiter=',', skip_header=True)
model = data[:,0]
fhr = data[:,1]
lats = data[:,2]
lons = data[:,3]
models = ['ANVI', 'BAMS', 'CLIP']
cols = ['r','g','b']
for i in range(len(models)):
plt.plot(x[model==models[i]],y[model==models[i]],
marker='o',linestyle='-',color=cols[i])
plt.show()
我 运行 遇到了一些绘图点在绘图后连接回第一个绘图点的问题。在 matplotlib 中绘制轨迹点后,我需要找到一种方法来关闭或清除轨迹点,以及如何使每条线都有自己的颜色。
来自文本文件的示例数据:
CMCI,36,16.9,-68.1
AVNI,0,15.7,-60.1
AVNI,12,16.1,-62.8
AVNI,24,16.5,-65.5
AVNI,36,17,-68.5
AVNI,48,17.6,-71.5
BAMD,12,16.3,-62.1
BAMM,168,23.1,-87.9
BAMS,84,20.3,-79.5
BAMS,96,20.6,-81.6
BAMS,108,21.1,-83.9
BAMS,120,21.5,-85.9
BAMS,132,22,-87.9
CLIP,12,16,-61.6
CLIP,24,16.4,-63.4
CLIP,36,17.1,-65.1
CLIP,48,18,-66.9
CLIP,72,20.2,-70
文本文件中的最后两列是 lat/lon。
代码:
data = np.genfromtxt("/home/.../.../.../all", delimiter=',', skip_header=True)
model = data[:,0]
fhr = data[:,1]
lats = data[:,2]
lons = data[:,3]
x,y = m(lons,lats)
plt.plot(x,y,'ro-')
plt.show()
您可以单独绘制每个轨道,使用您的 model
列索引 x
和 y
。您需要扩展 models
列表以在您的数据文件中包含所有可能的模型。
data = np.genfromtxt("/home/.../.../.../all", delimiter=',', skip_header=True)
model = data[:,0]
fhr = data[:,1]
lats = data[:,2]
lons = data[:,3]
models = ['ANVI', 'BAMS', 'CLIP']
cols = ['r','g','b']
for i in range(len(models)):
plt.plot(x[model==models[i]],y[model==models[i]],
marker='o',linestyle='-',color=cols[i])
plt.show()