Python x,y作为散点图颜色密度的绘图函数?

Python x,y作为散点图颜色密度的绘图函数?,python,matplotlib,plot,Python,Matplotlib,Plot,假设我有一个测量高度的列表: [0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0, 10.5, 11.0, 11.5, 12.0, 12.5, 13.0, 13.5, 14.0, 14.5, 15.0, 15.5, 16.0, 16.5, 17.0, 17.5] 我有一个2d的角度列表,数据是从这些角度获取的(从非垂直角度) (列表集与第一个列表

假设我有一个测量高度的列表:

[0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0, 10.5, 11.0, 11.5, 12.0, 12.5, 13.0, 13.5, 14.0, 14.5, 15.0, 15.5, 16.0, 16.5, 17.0, 17.5]
我有一个2d的角度列表,数据是从这些角度获取的(从非垂直角度)

(列表集与第一个列表中的高度相关,因此空白条目表示在相应高度未进行测量)。我想在x轴上绘制角度,在y轴上绘制高度。但是,对于每个点,我还希望绘制一个先前计算过的坡度(而不是前两个列表的坡度)。这个坡度列表的格式与角度列表的格式完全相同,我想将其绘制为颜色密度。斜率通常在-1和1之间,它们显示了相关性。我基本上是在寻找两个变量的斜率,每个角度,每个时间

这是我到目前为止所知道的,但是我很难弄清楚如何绘制坡度

for x in range(0, len(height)):
    height_temp = np.linspace(height[x], height[x], len(angle[x]))
    plt.scatter(angle[x], height_temp, s = slope[x])
plt.show()
任何帮助都将不胜感激

以下是您需要的:

plt.scatter(angle[x], height_temp, c=slope[x], s=slope[y], cmap='rainbow')

<>你可能想考虑设置Vmin和Vmax。 谢谢你的帮助!我只是有点搞不清楚变量‘y’是什么?哦,我不知道你想把另一个变量与大小联系起来。您可能需要对s变量使用乘数,具体取决于值。出于我的目的,我最终得到s=600,让你知道你可能需要在什么地方。我希望每个“标记”大小相同,因为最终将有数千个点。那么我应该排除“s=…”吗?可能吧。你会想看看它的样子。您可能还需要评估是否要用黑色勾勒出这些点。在旧版本的MPL中,默认为黑色线条,但现在不再是了。这将取决于您正在运行的版本。如果这回答了您的问题,请接受/投票回答:)
plt.scatter(angle[x], height_temp, c=slope[x], s=slope[y], cmap='rainbow')