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()