Одна вещь, которую вы ошибаетесь, я уверен, что вы не можете l oop через два массива одновременно for y in Y and x in range(1, 27):
Вы должны l oop через один, вы можете Сделайте это, просматривая индексы массива вместо того, чтобы проходить по самому массиву.
for y in range(0,26):
x = y + 1
z += Y[y]
...
Другая проблема, с которой вы столкнулись, заключается в том, что вы фактически создаете новый граф для каждого раза, когда код в Вы для l oop, каждый из этих графиков имеет только одну точку. Это два графика, построенных, когда ваш для l oop начинает работать правильно, обратите внимание, как меняются значения по осям x и y.
Вам нужно сохранить каждое значение z в другом массиве, а затем распечатать один график с использованием этого массива после того, как ваш для l oop завершится (значение для l oop немного изменится, потому что вам не нужны и у, и х)
import numpy as np
import matplotlib.pyplot as plt
a = np.array([[1,1],[2,0],[3,0],[4,1],[5,4],[6,7],[7,5],[8,1],[9,2],[10,3],
[11,10],[12,9],[13,27],[14,20],[15,39],[16,40],[17,54],[18,69],[19,74],
[20,191],[21,126],[22,102],[23,121],[24,219],[25,204], [26,235]])
X = a[:,0]
Y = a[:,1]
plt.scatter(X,Y)
plt.show()
#""""""""""""""""""""""""THE CHANGED PART"""""""""""""""""""""""""""""""""""
Z = np.zeros(26)
sum = 0
for y in range(0, 26):
sum += Y\[y\]
Z\[y\] = sum
plt.scatter(X,Z)
plt.show()][3]][3]
#""""""""""""""""""""""""THE CHANGED PART"""""""""""""""""""""""""""""""""""
Создает график ниже