我有三个散点图,标记颜色分别为红色,绿色和蓝色。
在所有三个图中,这些点都位于相同的位置(x,y),但标记大小可能不同。
我想将这三个图相互叠加,以使每个点都有3种颜色“加”。
例如:如果特定点在所有三个图中都具有相同的面积,则应显示为白色。
我尝试使用plt.scatter()
三次,但这导致一个图被绘制在另一个图上,也就是说,散点图绘制在最后一个图上,而散点图则出现在前一个图上。
有什么方法可以克服这个问题?
答案 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。