如何使用 matplotlib 在轴上显示完整的散点标记?

How to show full scatter point marker on axis using matplotlib?

我正在使用matplotlib画散点图。部分数据位于y轴,但无法显示完整标记。

我尝试使用zorder设置轴和散点标记的顺序并更改图形大小失败。

import numpy as np
import matplotlib.pyplot as plt
Exp = [565, 800, 460, 250, 565]
plt.scatter(np.arange(0, 1.001, 0.25), Exp, c='k', marker='o', label='Exp', s=20.0, zorder=2)
plt.xticks(np.arange(0.0, 1.01, 0.2))
plt.yticks(np.arange(0.0, 1000.1, 200))
plt.xlim(0, 1.0)
plt.ylim(0, 1000)
plt.legend()
plt.show()

我想在轴上显示完整的散点标记。

您需要将参数clip_on设置为False。这里不需要 zorder。或者,您可以增加 x 限制。

plt.scatter(np.arange(0, 1.001, 0.25), Exp, c='k', marker='o', label='Exp', 
            s=20.0, clip_on=False)