Как непрерывно отображать данные в Matplotlib (последовательно)?

#python #python-3.x #matplotlib #plot

#python #python-3.x #matplotlib #график

Вопрос:

Хорошо, я думаю, проблема довольно проста. То, что я пытаюсь сделать, это гистограмма, на которой данные отображаются последовательно, игнорируя, если текущее значение меньше предыдущего. Например, следующее:

 import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

for index in range(len(x)): 
    plt.bar(x[index], y[index])
 

возвращает мне этот график:

введите описание изображения здесь

Но если я добавлю новое значение к x и y (новое значение x будет меньше предыдущего значения), например:

 import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2]
y = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200]

for index in range(len(x)): 
    plt.bar(x[index], y[index])
 

график выглядит следующим образом:

введите описание изображения здесь

Итак, наконец, как я могу отобразить это новое значение 2 после 10 вместо того, чтобы возвращаться прямо к значению, ранее нанесенному на график?

Ответ №1:

Постройте график по значению диапазона и отрегулируйте метку тиков:

 plt.bar(range(len(x)), y)
plt.xticks(range(len(x)), x)
 

Вывод:

введите описание изображения здесь