Tôi khá mới với Python và đến từ một quan điểm của Matlab hơn. Tôi đang cố gắng tạo một chuỗi các ô con đường viền 2 x 5 bảng điều khiển. Cách tiếp cận của tôi cho đến nay đã được chuyển đổi (đến một mức độ nhất định) mã Matlab của tôi để Python và âm mưu của tôi subplots trong vòng một. Phần relavent của mã trông giống như sau:Python: subplot trong vòng lặp: bảng đầu tiên xuất hiện ở vị trí sai
fig=plt.figure(figsize=(15, 6),facecolor='w', edgecolor='k')
for i in range(10):
#this part is just arranging the data for contourf
ind2 = py.find(zz==i+1)
sfr_mass_mat = np.reshape(sfr_mass[ind2],(pixmax_x,pixmax_y))
sfr_mass_sub = sfr_mass[ind2]
zi = griddata(massloclist, sfrloclist, sfr_mass_sub,xi,yi,interp='nn')
temp = 250+i # this is to index the position of the subplot
ax=plt.subplot(temp)
ax.contourf(xi,yi,zi,5,cmap=plt.cm.Oranges)
plt.subplots_adjust(hspace = .5,wspace=.001)
#just annotating where each contour plot is being placed
ax.set_title(str(temp))
Là một người mới vào diễn đàn này, tôi dường như không được phép đính kèm hình ảnh kết quả. Tuy nhiên, đi theo chỉ mục của tôi trong các mã như 'tạm thời' bố trí kết quả của 2 x 5 tấm là:
251 - 252 - 253 - 254 - 255
256 - 257 - 258 - 259 - 250
Tuy nhiên, những gì tôi muốn là
250 - 251 - 252 - 253 - 254
255 - 256 - 257 - 258 - 259
Đó là, người đầu tiên bảng điều khiển (250) xuất hiện ở vị trí cuối cùng, nơi tôi sẽ nghĩ 259 nên được. Và 251 dường như là nơi tôi muốn 250 được đặt. Tất cả chúng dường như theo đúng trình tự, chỉ tròn một lần.
Tôi biết điều này sẽ rất ngớ ngẩn, nhưng đánh giá cao bất kỳ trợ giúp nào bạn có thể cung cấp.
Cảm ơn bạn trước.
Cảm ơn đã trả lời nhanh chóng! Thay đổi của bạn đã làm việc một cách hoàn hảo và đơn giản hóa mã của tôi một chút :) Rất cám ơn !! –