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

如何用Numpy和Matplotlib在2D散点图中展示三组数据?

用Numpy和Matplotlib绘制多组数据的2D散点图

你遇到的两个核心问题

  • 数组维度不匹配:第一段代码里z数组的长度和x、y不一致,Matplotlib绘制散点图要求每组的x、y数据必须等长,否则会直接抛出维度错误。
  • Numpy数组创建语法错误:第二段代码用np.array[]是错误写法,正确语法应为np.array(),方括号会触发语法报错,导致代码无法运行。

正确实现代码

下面是可直接运行的代码,能画出三组数据的2D散点图,每组用不同颜色和标记区分,便于识别:

import numpy as np
import matplotlib.pyplot as plt

# 准备三组长度一致的样本数据
# 第一组数据
x1 = np.array([1, 2, 3, 4, 5])
y1 = np.array([2, 4, 6, 8, 10])

# 第二组数据
x2 = np.array([1, 2, 3, 4, 5])
y2 = np.array([1, 3, 5, 7, 9])

# 第三组数据
x3 = np.array([1, 2, 3, 4, 5])
y3 = np.array([3, 6, 9, 12, 15])

# 设置画布大小
plt.figure(figsize=(8, 6))

# 分别绘制三组散点,自定义样式
plt.scatter(x1, y1, color='#ff4444', marker='o', label='Group 1')
plt.scatter(x2, y2, color='#33b5e5', marker='s', label='Group 2')
plt.scatter(x3, y3, color='#99cc00', marker='^', label='Group 3')

# 添加图表元素
plt.title('Three Groups Scatter Plot')
plt.xlabel('X Values')
plt.ylabel('Y Values')

# 显示图例
plt.legend()

# 展示图表
plt.show()

关键注意点

  • 每组数据的x和y必须长度相同,不管是手动定义还是用Numpy生成随机数,都要保证维度匹配。
  • 创建Numpy数组时必须用np.array(),内部元素用方括号包裹,比如np.array([1,2,3])是正确写法。
  • 可通过color、marker、label参数区分不同组数据,提升图表可读性。

内容的提问来源于stack exchange,提问作者KAVSHEKAA V CSBS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:22:33