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

如何使用Python matplotlib在XY坐标轴上绘制十字排列的编号点

问题修正方案
  • 标注内容错误:原有代码循环中输出的是x坐标值而非点的顺序编号,不符合十字编号的要求
  • 变量冲突:循环迭代变量命名为x/y,和外层存储坐标的列表变量重名,会意外覆盖原列表
  • 手动录入坐标效率低,无法快速生成更多十字点
修正后可运行代码
import matplotlib.pyplot as plt

# 自定义要生成的十字层数,设为n就会生成到(0,n)/(n,0)/(0,-n)/(-n,0)的位置,共4n个点
n = 5
x = []
y = []
for i in range(1, n+1):
    # 按规则依次添加四个方向的点:上(0,i)、右(i,0)、下(0,-i)、左(-i,0)
    x.extend([0, i, 0, -i])
    y.extend([i, 0, -i, 0])

# 绘制黑色点
plt.plot(x, y, "o", color="black")
plt.xlabel('x')
plt.ylabel('y')

# 标注从1开始的顺序编号
for idx, (coord_x, coord_y) in enumerate(zip(x, y), start=1):
    plt.text(coord_x, coord_y, str(idx), color="red", fontsize=12)

plt.title('十字编号点图')
# 设置坐标轴等比例,避免十字出现变形
plt.axis('equal')
plt.show()
效果说明

生成的点严格遵循要求的编号规则:1对应(0,1)、2对应(1,0)、3对应(0,-1)、4对应(-1,0)、5对应(0,2)以此类推,调整参数n即可快速生成更多十字点,不需要手动修改坐标列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:36:03