【问题标题】:Overlaying/Superimposing plots in matplotlib在 matplotlib 中叠加/叠加图
【发布时间】:2020-04-07 14:33:00
【问题描述】:

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

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

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

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

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

有什么办法可以克服吗?

【问题讨论】:

    标签: python image matplotlib plot


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 2021-12-20
      • 2019-05-30
      • 1970-01-01
      • 2011-12-05
      相关资源
      最近更新 更多