Câu hỏi: đường viền từ matplotlib mong đợi cho mảng 2D đầu vào là gì?Thứ tự mảng đường viền đầu vào matplotlib
Xây dựng: Matplotlib tài liệu hướng dẫn đường viền nói rằng các cuộc gọi thông thường là
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)
đâu scalar_field phải là một mảng 2D. Ví dụ, scalar_field có thể được tạo ra bởi
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)
Nếu scalar_field được trao cho đường viền,
plt.contour(x_axis, y_axis,scalar_field) #incorrect
định hướng của cốt truyện là không chính xác (xoay). Để khôi phục đúng hướng, scalar_field phải được chuyển vị trí:
plt.contour(x_axis, y_axis,scalar_field.transpose()) #correct
Vì vậy, thứ tự đường viền mong đợi rằng scalar_field có là gì?
Bạn có thể vui lòng xây dựng trên phần chỉ mục và thứ tự không? – Ivan
@Ivan Khi bạn sử dụng chỉ mục 'xy'' bạn có thể tưởng tượng bạn đang nhìn vào ma trận từ phía trên và tọa độ x đi từ trái sang phải, trong khi toạ độ y từ dưới lên trên. Đây không phải là những gì bạn muốn đôi khi, do đó bạn có tùy chọn để sử dụng '' ij'' chỉ mục, nơi chỉ số đầu tiên có thể được xem như là dòng và thứ hai là cột ... –