Я пытаюсь создать несколько подзадач для подгонки изображений с использованием APLpy, и я хотел бы создать их через цикл цикла, чтобы не допустить, чтобы мне пришлось вводить десятки параметры несколько раз для N графиков.Использование цикла for для создания нескольких подклассов APLpy Python
Использование безвкусный метод грубой силы, для N = 2 участков может идти, как это:
import aplpy
import matplotlib.pyplot as plt
fig = plt.figure()
f1 = aplpy.FITSFigure("figure1.fits", figure=fig, subplot=[0,0,0.5,0.5])
f2 = aplpy.FITSFigure("figure2.fits", figure=fig, subplot=[0.5,0.5,0.5,0.5])
# And there are many more images at this point, but let's look at 2 for now.
f1.show_colorscale()
f1.add_colorbar()
f1.frame.set_linewidth(0.75)
# And many more settings would follow
# Repeat this all again for the second plot
f2.show_colorscale()
f2.add_colorbar()
f2.frame.set_linewidth(0.75)
fig.canvas.draw()
fig.savefig('figure.eps')
Но я хотел бы, чтобы заменить два набора параметров участка с цикл, так как многие из другие параметры участка контролируются таким образом, и я хотел бы сделать еще несколько графиков. Я хотел бы заменить эти строки что-то вроде:
for i in range(1,3):
f{i}.show_grayscale()
f{i}.add_colorbar()
f{i}.frame.set_linewidth(0.75)
т.д.
Очевидно, что этот синтаксис не так. По сути, мне нужно иметь возможность модифицировать сам код в цикле for. Я не могу найти, как это сделать в Python, но если бы я делал что-то подобное в .csh, я мог бы написать его, например. f"$i".show_grayscale()
.
Спасибо.
Это действительно хороший ответ, который когда-либо по электронной почте вам, должно быть, был умный человек .... – astrochris