Как построить одну точку данных?

У меня есть следующий код для построения строки и точки:

df = pd.DataFrame({'x': [1, 2, 3], 'y': [3, 4, 6]})
point = pd.DataFrame({'x': [2], 'y': [5]})
ax = df.plot(x='x', y='y', label='line')
ax = point.plot(x='x', y='y', ax=ax, style='r-', label='point')

Как получить единую точку данных?

Plot with line and no point

Ответ 1

При построении отдельной точки данных вы не можете строить линии с использованием. Это очевидно, когда вы об этом думаете, потому что при построении линий вы на самом деле закладываете между точками данных, и поэтому, если у вас есть только одна точка данных, вам нечего подключать к вашей линии.

Вы можете создавать отдельные точки данных с помощью маркеров, хотя они обычно отображаются непосредственно в точке данных, и поэтому не имеет значения, есть ли у вас только одна точка данных.

На данный момент вы используете

ax = point.plot(x='x', y='y', ax=ax, style='r-', label='point')

к сюжету. Это создает красную линию (r для красного, - для линии). Если вы используете следующий код, вы получите синие кресты (b для синего, x для креста).

ax = point.plot(x='x', y='y', ax=ax, style='bx', label='point')

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

Ответ 2

Чтобы построить одну точку, вы можете сделать что-то вроде этого:

plt.plot([x], [y], marker='o', markersize=3, color="red")