gpt4 book ai didi

python - 使用特定列绘制二维 NumPy 数组

转载 作者:IT老高 更新时间:2023-10-28 21:18:40 25 4
gpt4 key购买 nike

我有一个像这样创建的 2D numpy 数组:

data = np.empty((number_of_elements, 7))

每行有 7 个(或其他) float 代表一个对象的属性。例如前两个是对象的 xy 位置,其他是各种属性,甚至可以用于将颜色信息应用于绘图。

我想从 data 做一个散点图,这样如果 p = data[i],一个对象被绘制为一个带有 p[ 的点:2] 作为其 2D 位置,并以 p[2:4] 作为颜色信息(该向量的长度应确定该点的颜色)。其他列对情节根本不重要。

我该怎么办?

最佳答案

设置一个基本的 matplotlib 图形很容易:

import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

选择 xycolor 的列可能如下所示:

N = 100
data = np.random.random((N, 7))
x = data[:,0]
y = data[:,1]
points = data[:,2:4]
# color is the length of each vector in `points`
color = np.sqrt((points**2).sum(axis = 1))/np.sqrt(2.0)
rgb = plt.get_cmap('jet')(color)

最后一行检索 jet 颜色映射并将数组 color 中的每个浮点值(介于 0 和 1 之间)映射到 3 元组 RGB 值。有一个颜色图列表可供选择 here .还有一种方法可以定义自定义颜色图。

现在制作散点图很简单:

ax.scatter(x, y, color = rgb)
plt.show()
# plt.savefig('/tmp/out.png') # to save the figure to a file

enter image description here

关于python - 使用特定列绘制二维 NumPy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13634349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com