Мультиграф трендов в одной фигуре в питоне

Я хочу написать код на python (используя pandas и matplotlib), чтобы проиллюстрировать множество тенденций в одном окне. Мой исходный набор данных выглядит примерно так:

  • НЕТ. Год Позиция Год Позиция Год Позиция
  • 1 2000 1 2002 2 2005 3

  • 2 1999 2 2003 2 2006 3

    ...

  • 40 1999 3 2005 2 2007 1

На самом деле каждая точка данных (1,2,3...40) занимает разные позиции от 1 до 3 в разные годы. Я просто хочу показать тенденцию своих позиций. Вероятно, это должна быть простая линейная диаграмма для каждого из них. И я хочу показать все графики в одном окне, чтобы мы могли сравнить результаты трендов разных точек данных. Любая идея, с чего мне начать? Заранее спасибо за помощь.


person Mehrdad Fonooni    schedule 17.06.2018    source источник
comment
Можете ли вы предоставить более подробную информацию о ваших данных и графике, который вы бы создали?   -  person PieCot    schedule 17.06.2018
comment
Привет. Каждая точка данных (1,2,3...40) имеет разные позиции от 1 до 3 в разные годы. Я просто хочу показать тенденцию своих позиций. Вероятно, это должна быть простая линейная диаграмма для каждого из них. И я хочу показать все графики в одном окне, чтобы мы могли сравнить результаты трендов разных точек данных.   -  person Mehrdad Fonooni    schedule 17.06.2018
comment
Так в чем тут вопрос? Вы сказали нам, чего хотите, но где вы боретесь? Вы не знаете, какой фреймворк использовать? Вы не знаете, как им пользоваться? Вы не знаете, с чего начать? В зависимости от того, какой вопрос является слишком широким.   -  person Imanol Luengo    schedule 17.06.2018
comment
Иманол ты прав. Я пытаюсь использовать matplotlib и pandas для написания кода. Все еще не знаю, с чего начать. Я знаю, как написать код для двух наборов данных (например, двух столбцов X и Y), но здесь у меня есть тренд более чем на 2 набора данных для каждого числа.   -  person Mehrdad Fonooni    schedule 17.06.2018


Ответы (1)


Предположим, что df - это ваш фрейм данных, вы можете использовать этот код в качестве отправной точки:

import pylab as plt
plt.figure("Unknown index")
for i, (name, row) in enumerate(df.iterrows()):
    x, y = row[0::2], row[1::2]
    plt.plot(x, y, '-*', label='Trend {}'.format(i))
plt.xticks(list(range(2000, 2017)))

plt.legend(loc=1)
plt.show()
person PieCot    schedule 17.06.2018