You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免网格边缘的散点被截断(不更改网格线)

解决Matplotlib散点网格边缘点被截断的问题

你当前的代码绘制散点网格时,边缘的散点被坐标轴范围截断,要在保留原有网格线等设置的前提下完整显示边缘点,只需调整坐标轴的显示范围,给边缘散点留出足够空间即可:

修改后的代码

import numpy as np
import matplotlib.pyplot as plt

# Add blue dots
for x in np.arange(0, 10, 1):
    for y in np.arange(0, 10, 1):
        plt.scatter(x, y, color='blue', s=20)  # Adjust the size (s) as needed

# Customize plot
ax = plt.gca()  

# 关键修改:扩展坐标轴范围,给边缘散点留出显示空间
ax.set(xlim=(-0.5, 9.5), ylim=(-0.5, 9.5), xlabel='', ylabel='')
ax.set_xticks(np.arange(0, 9.01, 1))
ax.set_yticks(np.arange(0, 9.01, 1))
ax.invert_yaxis()
ax.set_aspect('equal', adjustable='box')
ax.tick_params(left=False, bottom=False)
ax.grid()

plt.show()

原理说明

  • 原代码的xlim=(0, 9)和ylim=(0, 9)刚好卡散点的坐标值,而散点本身有尺寸,导致边缘点被截断。
  • 将坐标轴范围调整为(-0.5, 9.5)后,既不会改变原有网格线的位置(刻度仍设置为0-9),又能让边缘的散点完整显示在画布内。

内容的提问来源于stack exchange,提问作者Simd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:15:14