如何在matplot python中绘制单个点

时间:2015-02-13 16:57:23

标签: python matplotlib

我想在我的图表上绘制一个点 但似乎他们都需要绘制列表或方程式。

我需要像ax.plot(x,y)那样绘制,并且我的图表上的x,y坐标上会出现一个点。

这是我的代码

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.set_xticks(numpy.arange(0,grid[0] + 20,20))
ax.set_yticks(numpy.arange(0,grid[1] + 20,20))
ax.plot(105, 200)
plt.grid()
plt.show()

2 个答案:

答案 0 :(得分:12)

这对我有用:

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

答案 1 :(得分:0)

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

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

# 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')
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')
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()

fig.tight_layout()

enter image description here