Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用matplotlib scatter()调整每个点的alpha?_Python_Matplotlib - Fatal编程技术网

Python 如何使用matplotlib scatter()调整每个点的alpha?

Python 如何使用matplotlib scatter()调整每个点的alpha?,python,matplotlib,Python,Matplotlib,例如,我想提供一个alpha值数组,该数组的长度与我想用散点绘制的点的数量相同 我看到有一个解决办法,手动计算rbg颜色值并使用颜色贴图,有没有更简单的方法 如果这是唯一的方法,我如何抽象该函数,以便只提供元素、颜色和透明度值,以获得所需的颜色贴图?我不知道我可能会使用什么颜色,透明度权重将发生变化,因此我想要更通用的颜色。您可以使用matplotlib.colors.to_rgb(a) 导入matplotlib.pyplot作为plt 从matplotlib.colors导入到_rgb,再导入

例如,我想提供一个alpha值数组,该数组的长度与我想用散点绘制的点的数量相同

我看到有一个解决办法,手动计算rbg颜色值并使用颜色贴图,有没有更简单的方法


如果这是唯一的方法,我如何抽象该函数,以便只提供元素、颜色和透明度值,以获得所需的颜色贴图?我不知道我可能会使用什么颜色,透明度权重将发生变化,因此我想要更通用的颜色。

您可以使用
matplotlib.colors.to_rgb(a)

导入matplotlib.pyplot作为plt
从matplotlib.colors导入到_rgb,再导入到_rgba
将numpy作为np导入
def散射(x、y、颜色、alpha_arr、**kwarg):
r、 g,b=至rgb(颜色)
#r,g,b,u=to_rgba(彩色)
颜色=[(r,g,b,alpha)表示alpha_arr中的alpha]
plt.散射(x,y,c=颜色,**kwarg)
N=500
x=np.random.rand(N)
y=np.random.rand(N)
alpha_arr=x*y
散射(x,y,'红色',alpha_arr,s=10)#正常
散射(x,y,#efefef',alpha_arr,s=10)#ok
裁判。

您需要为
scatter
c
参数提供包含所选alpha的颜色。这是否回答了您的问题@WilliamMiller我确实看到了答案,所以那是唯一的办法?在某种程度上回答了这个问题,我不仅需要知道如何缩放任意颜色的选择,还需要知道如何正确缩放权重数组(可能不像示例中那样是一系列相等的值)。我不确定这个答案在这方面是否有很大帮助,它似乎非常特定于特定的用例。@Learning机器指定alpha值的数组可以根据您的需要创建。在这个问题中,行
alphas=np.linspace(0.1,1,10)
仅用于演示,您可以提供任何大小正确的数组
alphas
,它将按照您的要求工作,我喜欢它的简单性。另外,它可以在几行中进行调整,以支持输入中的颜色数组。