如何绘制单个数据点?

问题描述 投票:21回答:2

我有以下代码来绘制一条线和一个点:

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

python pandas matplotlib plot
2个回答
4
投票

绘制单个数据点时,无法使用线条绘图。当你想到这一点时,这是显而易见的,因为在绘制线条时,你实际上在数据点之间进行绘图,所以如果你只有一个数据点,那么你没有任何东西可以连接你的线。

您可以使用标记绘制单个数据点,这些通常直接绘制在数据点上,因此如果您只有一个数据点则无关紧要。

在你正在使用的那一刻

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进行绘图,您可以在表格here中找到各种样式参数。要在不同样式之间进行选择(例如,如果您有多个数据点时不需要标记),则可以只检查数据集的长度,然后使用适当的样式。


64
投票

要绘制单个点,您可以执行以下操作:

plt.plot([x], [y], marker='o', markersize=3, color="red")
© www.soinside.com 2019 - 2024. All rights reserved.