Python散点图二维数组

Posted

技术标签:

【中文标题】Python散点图二维数组【英文标题】:Python scatter plot 2 dimensional array 【发布时间】:2015-08-02 00:03:47 【问题描述】:

我正在尝试做一些我认为应该非常简单的事情,但我似乎无法让它发挥作用。

我正在尝试绘制随时间测量的 16 字节值,以查看它们如何变化。我正在尝试使用散点图来做到这一点: x 轴为测量指标 y 轴是字节的索引 以及表示字节值的颜色。

我将数据存储在一个 numpy 数组中,其中 data[2][14] 将为我提供第二次测量中第 14 个字节的值。

每次我尝试绘制这个,我都会得到:

ValueError: x and y must be the same size
IndexError: index 10 is out of bounds for axis 0 with size 10

这是我正在使用的示例测试:

import numpy
import numpy.random as nprnd
import matplotlib.pyplot as plt

#generate random measurements
# 10 measurements of 16 byte values
x = numpy.arange(10)
y = numpy.arange(16)
test_data = nprnd.randint(low=0,high=65535, size=(10, 16))

#scatter plot the measurements with
# x - measurement index (0-9 in this case)
# y - byte value index (0-15 in this case) 
# c = test_data[x,y]

plt.scatter(x,y,c=test_data[x][y])
plt.show()

我确定我做错了什么很愚蠢,但我似乎无法弄清楚是什么。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

尝试使用meshgrid 来定义您的点位置,并且不要忘记正确索引到您的 NumPy 数组(使用[x,y] 而不是[x][y]):

x, y = numpy.meshgrid(x,y)
plt.scatter(x,y,c=test_data[x,y])
plt.show()

【讨论】:

以上是关于Python散点图二维数组的主要内容,如果未能解决你的问题,请参考以下文章

python 绘制三维图形、三维数据散点图

pyecharts 应用4: 二维散点图

2021-12-22看懂 散点图矩阵(pairs plots)

MATLAB | 如何绘制二维散点主方向直方图

MATLAB | 如何绘制二维散点主方向直方图

Python数据可视化:数据关系图表可视化