Я думаю, вам нужна пошаговая функция. Обратите внимание, что здесь я добавил 0 к X и 5 к Y в начале, чтобы иметь правильный диапазон первого шага от 0 до 10
import matplotlib.pyplot as plt
X = [0, 10, 25, 45, 50]
Y = [5, 5, 10, 11, 6]
plt.step(X, Y)
plt.show()
РЕДАКТИРОВАТЬ: Если у вас есть несортированный массив X и вы хотите суммировать значения X, вы можете использовать cumsum
из NumPy. Основная идея заключается в том, чтобы сначала вставить 0 в список, а затем преобразовать в массив с последующим накопительным суммированием
import matplotlib.pyplot as plt
import numpy as np
X = [6, 27, 9, 19]
X.insert(0,0)
X = np.cumsum(X)
Y = [5, 5, 10, 11, 6]
plt.step(X, Y)
plt.show()