在matplotlib中叠加/叠加图

时间:2019-12-14 10:51:44

标签: python image matplotlib plot

我有三个散点图,标记颜色分别为红色,绿色和蓝色。

在所有三个图中,这些点都位于相同的位置(x,y),但标记大小可能不同。

我想将这三个图相互叠加,以使每个点都有3种颜色“加”。

例如:如果特定点在所有三个图中都具有相同的面积,则应显示为白色。

我尝试使用plt.scatter()三次,但这导致一个图被绘制在另一个图上,也就是说,散点图绘制在最后一个图上,而散点图则出现在前一个图上。

有什么方法可以克服这个问题?

1 个答案:

答案 0 :(得分:1)

您可以使用透明度和不同大小来使重叠出现:

import matplotlib.pyplot as plt

datapoints = [(1,1), (1,1), (1,1), (1.1,1.1)]
sizes = [20000,1000,5000,2000]

# plot datapoints with different sizes:
for d, s in zip(datapoints, sizes):
    plt.scatter(*d, s=s, alpha=0.3)

如果您确实需要添加剂混合,则应签出this post

enter image description here