如何在matplotlib中绘制单个点

bq8i3lrv  于 2023-03-09  发布在  其他
关注(0)|答案(2)|浏览(209)

我想在我的图表上画一个点,但看起来它们都需要画成列表或方程。
我需要像ax.plot(x, y)那样绘图,一个点会出现在我的xy坐标上。

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
import numpy
fig = plt.figure()
plt.xlabel('Width')
plt.ylabel('Height')
ax = fig.gca()
ax.plot(105, 200)
plt.grid()
plt.show()

50few1ms

50few1ms1#

这对我很有效:

plt.plot(105,200,'ro')
3duebb1j

3duebb1j2#

  • matplotlib.pyplot.plotmatplotlib.axes.Axes.plotyx绘制为线和/或标记。
  • ax.plot(105, 200)尝试绘制一条线,但一条线需要两个点
  • plt.plot([105, 110], [200, 210])
  • 第三个位置参数由线型、颜色和/或标记组成
  • 'o'只能用于绘制标记。
  • 指定marker='o'与指定位置参数的作用不同。
  • 'ro'分别指定颜色和标记
  • 如果提供了两个或多个xy值,则'-o''-ro'将绘制一条线和标记。
  • matplotlib.pyplot.scattermatplotlib.axes.Axes.scatter也可用于添加单个或多个点
      • python 3.10matplotlib 3.5.1seaborn 0.11.2中测试**
import matplotlib.pyplot as plt

fig, ax = plt.subplots(3, 1, figsize=(8, 10), tight_layout=True)

# single point
ax[0].plot(105, 110, '-ro', label='line & marker - no line because only 1 point')
ax[0].plot(200, 210, 'go', label='marker only')  # use this to plot a single point
ax[0].plot(160, 160, label='no marker - default line - not displayed- like OP')
ax[0].set(title='Markers - 1 point')
ax[0].legend()

# two points
ax[1].plot([105, 110], [200, 210], '-ro', label='line & marker')
ax[1].plot([105, 110], [195, 205], 'go', label='marker only')
ax[1].plot([105, 110], [190, 200], label='no marker - default line')
ax[1].set(title='Line & Markers - 2 points')
ax[1].legend()

# scatter plot
ax[2].scatter(x=105, y=110, c='r', label='One Point')  # use this to plot a single point
ax[2].scatter(x=[80, 85, 90], y=[85, 90, 95], c='g', label='Multiple Points')
ax[2].set(title='Single or Multiple Points with using .scatter')
ax[2].legend()

海运

轴级图

x一个一个一个一个x一个一个二个x

图形级图

一个三个三个一个

相关问题