Python 使用(n,3)数组创建散点图,其中n是数据集中的数据点数,作为';颜色';plt.scatter()中的参数

Python 使用(n,3)数组创建散点图,其中n是数据集中的数据点数,作为';颜色';plt.scatter()中的参数,python,pandas,numpy,matplotlib,colors,Python,Pandas,Numpy,Matplotlib,Colors,我正在尝试重新创建此图: 这就是我到目前为止所做的: 如何使黑色变为红色褪色。显然,我想使用colors参数,其中“colors”必须是一个(n,3)NumPy数组,其中n是数据点的数量,三列中的每一列对应于[0,1]范围内的RGB值 使用(5,5)矩阵和cmap,我的运气更好。提前感谢您的帮助 一个想法是创建rgb值,其中r从0平稳地过渡到1,而g和b都从0过渡到0.3 导入matplotlib.pyplot作为plt 将numpy作为np导入 极限=[-2.25,2.25,--2.25,

我正在尝试重新创建此图:

这就是我到目前为止所做的:

如何使黑色变为红色褪色。显然,我想使用
colors
参数,其中“colors”必须是一个(n,3)NumPy数组,其中n是数据点的数量,三列中的每一列对应于[0,1]范围内的RGB值


使用(5,5)矩阵和cmap,我的运气更好。提前感谢您的帮助

一个想法是创建rgb值,其中
r
0
平稳地过渡到
1
,而
g
b
都从
0
过渡到
0.3

导入matplotlib.pyplot作为plt
将numpy作为np导入
极限=[-2.25,2.25,--2.25,2.25]#[xmin,xmax,ymin,ymax]
x=np.重复(np.linspace(0,1,5),5)
y=np.tile(np.linspace(0,1,5),5)
行,cols=5,5
colors=np.array([np.linspace(0,1,行*cols),
np.linspace(0,0.3,行*cols),
np.linspace(0,0.3行*cols)].T
尺寸=np.arange(1行*cols+1)
plt.散射(x,y,s=尺寸,c=颜色)
plt.xlabel(“y”)
plt.ylabel(“x”)
plt.xlim(限制[0],限制[1])
plt.ylim(限值[2],限值[3])
产品名称(“二维数据”)
plt.show()

这个问题与您想要的类似吗?完美的谢谢你的帮助,如果这回答了你的问题,你可能会认为答案是被接受的。
limits = [-2.25,2.25,-2.25,2.25] # [xmin,xmax,ymin,ymax]

x   = data['x']
y   = data['y']
rows,cols = data.shape

colors = np.array([np.arange(0,1,1/5) for row in range(0,5)]).T

sizes     = np.linspace(1,rows+1, num=rows)

plt.scatter(x, y, s=sizes, c = colors, cmap='gist_heat')
plt.xlabel("y")
plt.ylabel("x")
plt.xlim(limits[0],limits[1])
plt.ylim(limits[2],limits[3])
plt.title('2D Data')
plt.show()