Я пытаюсь использовать глобальную переменную x
как счетчик в моих циклах for. Я использую точки, координаты которых сохранены в переменных col_values_X_right и col_values_Y_right - списках координат. Я пытаюсь использовать их для создания 15 различных графиков, потому что в каждом списке координат есть разделители '-', которые указывают начало новой главы данных (которая была получена из другого источника). Это просто объяснение, для чего я хочу использовать этот код. Проблема, как я уже говорил, в том, что я не могу использовать свою переменную глобального счетчика в циклах. Я пытаюсь использовать global x
, но я не очень понимаю, как это должно работать. Когда я пытаюсь запустить этот код, он показывает эту ошибку SyntaxError: name 'x' is assigned to before global declaration
. Пожалуйста, помогите мне, как я могу это исправить и использовать переменную x среди всех циклов
x = 0
for j in range(number_of_separatores//2):
image_plot1 = plt.imshow(image1)
global x
for i in range(len(col_values_X_right)-x):
if stimulus_name[x+1] == '5_01.jpg' and col_values_X_right[x+1] != '-':
plt.scatter([col_values_X_right[x+1]], [col_values_Y_right[x+1]])
x += 1
else:
break
plt.show()
Мои дополнения к вопросу:
x = 0 # the variable, that I want to use as a counter in my cycles
a = 15
image = mpl.image.imread('file_name.png')
X = list() #put your float numbers here
Y = list() #and here
for j in range(a): #first cycle for making new plots
image_plot = plt.imshow(image) #the image on that I want to make my plot
for i in range(len(X)): #columns of all coordinate that I will separate for differents plots by '-' symbol in it
if X[x+1] != '-':
plt.scatter([X[x+1], Y[x+1]) #one point on the plot, the length of X and Y is similar
x+=1 #for use next cell of the column on the next iteration of the cycle
else:
break #if I find the '-' symbol in column I want to end this plot end start next one. And here is a problem: I want to start from the last x cell, but if I ran this code, after first plot the x value reset and code plotting similar picture
plt.show()