問題:matplotlib的輪廓期望輸入2D數組的順序是什麼?matplotlib輪廓輸入數組順序
精心:Matplotlib輪廓文件說,日常通話
x_axis = np.linspace(10,100,n_x)
y_axis = np.linspace(10,100,n_y)
matplotlib.pyplot.contour(x_axis, y_axis, scalar_field)
凡scalar_field必須是一個二維數組。例如,可以通過
scalar_field = np.array([(x*y) for x in x_axis for y in y_axis])
scalar_field = scalar_field.reshape(n_x, n_y)
生成scalar_field如果scalar_field給予輪廓,
plt.contour(x_axis, y_axis,scalar_field) #incorrect
圖的取向不正確(旋轉)。要恢復正確的方向scalar_field必須調換:
plt.contour(x_axis, y_axis,scalar_field.transpose()) #correct
那麼,什麼是爲了使輪廓預計scalar_field了?
請您詳細說明索引部分和順序嗎? – Ivan
@Ivan當你使用''xy''索引時,你可以想象你從上面看矩陣,x座標從左到右,而y座標從底部到頂部。這不是你想要的,所以你可以選擇'ij''索引,其中第一個索引可以看作是行,第二個索引可以看作是列... –