Q: Need correct x&y labels in for loop I'm trying to create 21 scatter plots with data I have. These 21 plots have different combinations of data, and I have succeeded at creating the right plots. However, I cannot for the life of me figure out how to correctly label the plots. Here is my code:
F225W = np.loadtxt('path/phot_F225W.dat',usecols=[0], unpack=True)
F275W = np.loadtxt('path/phot_F275W.dat',usecols=[0], unpack=True)

... I did this for all filters
Filters = [F225W,F275W,F336W,F438W,F606W,F814W,F850L]

for i in range(len(Filters)):

    for j in range(len(Filters)):
        B = Filters[i]
        R = Filters[j]

        BR = B-R

        if j<=i:
            pass
        else:
            plt.figure()
            plt.gca().invert_yaxis()
            plt.xlim(-6,6)
            plt.ylim(-4,-15)
            plt.xlabel(str(Filters[i]) + '-' + str(Filters[j]))
            plt.ylabel(str(Filters[j]))  
            plt.plot(BR,R,'k.',markersize=1)

plt.show()

The code is supposed to iterate through the different combinations of filters and plot B-R vs. R, but instead of just labeling it B-R and R, I need it to show me the filters that were used in creating the plot. At the moment it creates the correct plots, but the labels don't show up.

A: To expand on the comment, does this work as a solution? The loop will pause until you close each figure that pops up on each iteration (if you keep the plt.show() ). You could alternatively save each figure and look at them separately as indicated in the solution as well:
Filters = [F225W,F275W,F336W,F438W,F606W,F814W,F850L]
Filter_names = ['F225W','F275W','F336W','F438W','F606W','F814W','F850L']

for i in range(len(Filters)):

    for j in range(len(Filters)):
        B = Filters[i]
        BB = Filter_names[i]
        R = Filters[j]
        RR = Filter_names[j]

        BR = B-R

        if j<=i:
            pass
        else:
            plt.figure()
            plt.gca().invert_yaxis()
            plt.xlim(-6,6)
            plt.ylim(-4,-15)
            plt.xlabel(str(Filter_names[i]) + '-' + str(Filter_names[j]))
            plt.ylabel(str(Filter_names[j]))  
            plt.title('B filter:' + BB + '\tR Filter:' + RR)
            plt.plot(BR,R,'k.',markersize=1)

            os.chdir(path_you_want_to_save_to)
            plt.savefig('B_' + BB +'_R_' + RR + '.png')

            #uncomment line to see graph and pause loop.
            #also note the indentation has changed
            #plt.show()
            plt.close()

After looking again I'm guessing the Filters are lists of arrays of some sort? So you need another list Filter_names for the string representing their names. I think that fixes your problem as you were trying to label them with list data before. 
