Построение точек и линий отдельно от данных панд, содержащих столбцы x, y, id - PullRequest
0 голосов
/ 27 августа 2018

У меня есть некоторые данные панды со столбцами, содержащими данные x, y и id's, поэтому я в основном представляю каждую точку графика с ее id в качестве указателя, к которому принадлежит график. Я строю данные с помощью mathplotlib.

for i in df_path.id.unique():
    x = df_path[df_path.id==i]['x']
    y = df_path[df_path.id==i]['y']
    if(df_path['id'].value_counts()==1):
        point=pd.DataFrame({'x': [x], 'y': [y]})
        point.plot(x='x', y='y', ax=ax, style='bx', label='point')
    else:
        plt.plot(x-1, y-1)

Теперь случается, что отдельные точки не могут быть отображены, и я пытаюсь обработать это с помощью if clause, чтобы отделить линии от точек, чтобы иметь возможность построить их обе. Я хочу сделать это, считая, что id встречается только один раз в таблице панд. это реализует это одна точка, а не линия. Почему-то метод value_count() не работает так, как я хочу, чтобы он работал. У кого-нибудь есть идеи, как это исправить?

Данные выглядят так:

"x"  "y" "id"
 3    4    0
 1    2    1
 1    3    1
 1    4    1

В этом случае я хотел бы получить строку с 0 id в качестве точки для ее построения и 1 id в качестве линии.

1 Ответ

0 голосов
/ 27 августа 2018

Попробуйте это:

fig, ax = plt.subplots()
for name, g in df.groupby('id'):
    g.plot(x='x',y='y', marker='o', ax=ax, label=name)

Выход:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...