Tôi muốn tạo một hình bao gồm chín điểm con. Tôi thực sự ghét một thực tế là tôi cần phải tạo ra ax1 để ax9 riêng biệt vì vậy tôi tạo ra một vòng lặp for để làm như vậy. Tuy nhiên, khi tôi muốn bao gồm một thanh màu, thanh màu được đặt đúng vị trí của subplot cuối cùng. Điều này cũng được minh họa trong hình sau:Định vị thanh màu sai khi sử dụng các vị trí con (matplotlib)
gì đang xảy ra sai và làm thế nào tôi có thể sửa lỗi này?
Hình ảnh đã được tạo ra với đoạn mã sau:
import numpy
import layout
import matplotlib.pylab as plt
data = numpy.random.random((10, 10))
test = ["ax1", "ax2", "ax3", "ax4", "ax5", "ax6", "ax7", "ax8", "ax9"]
fig = plt.figure(1)
for idx in range(len(test)):
vars()[test[idx]] = fig.add_subplot(3, 3, (idx + 1))
im = ax1.imshow(data)
plt.colorbar(im)
im2 = ax3.imshow(data)
plt.colorbar(im2)
plt.show()
Đó là một chút thanh lịch hơn so với giải pháp tôi tìm thấy. Tuy nhiên, khoảng cách giữa subplot và colorbar là khá lớn. Bất kỳ ý tưởng? –
Hãy thử plt.tight_layout() – Molly