在轴顶部绘制标记

wsa*_*ran 9 python numpy matplotlib

我想用numpy做一个(x,y)散点图.现在,轴从(0,0)开始并延伸以与数据范围对齐.我需要绘制两个位于x = 0线上的点.

目前看来符号是在轴之前绘制的,随后被轴截断.我希望这出现在轴的顶部.我相信我可以用'标签'做点什么,但我找不到任何方法来完成这项工作.

标记在某种程度上是可见的,但它们是可视化中非常重要的组成部分.如果某人有一个解决方案,这将是美好的.

HYR*_*YRY 12

您可以关闭plt.plot创建的线对象的剪辑标志.

import numpy as np
import matplotlib.pyplot as plt
x = np.array([0,1,2,3,4,5,6])
y = np.array([0,2,0,4.5,0.5,2,3])

line = plt.plot(x,y,'o')[0]
line.set_clip_on(False)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 我相信这现在只是一个 kw 参数,`plt.plot(x,y,'o', clip_on=False)` (2认同)

ond*_*fka 7

要使标记实际显示在轴的顶部,可以使用zorder

import numpy as np
import matplotlib.pyplot as plt
x = np.array([0,1,2,3,4,5,6])
y = np.array([0,2,0,4.5,0.5,2,3])

plt.plot(x, y, 'o', zorder=10, clip_on=False)
plt.xlim(0, 6)
plt.ylim(0, 4.5)
plt.show()
Run Code Online (Sandbox Code Playgroud)

结果