我想画一条连续线上的散布点。我选择的颜色有一些值alpha<1
。当我在线的顶部绘制点时,结果变得更加不透明(这是预期的)。这是一张照片:
以下是相关的源代码:
import matplotlib.pyplot as plt
plt.style.use("default")
color = (0.4, 0.1, 0.9, 1.0)
color50 = (0.4, 0.1, 0.9, 0.5)
# A line
fig, ax = plt.subplots(1,1,figsize=(6,4))
ax.plot([1,2],[1,2], lw = 10, color =color50)
# Point A
ax.scatter(1.4,1.4, s = 500, color =color)
ax.text(1.38,1.47,"A",)
# Point B
ax.scatter(1.5,1.5, s = 500, color =color50,alpha = 1.0)
ax.text(1.48,1.57,"B",)
# Point C
ax.scatter(1.7,1.7, s = 500, color =color50)
ax.text(1.68,1.77,"C",)
# Point D
ax.scatter(1.7,1.3, s = 500, color =color50)
ax.text(1.68,1.37,"D")
我想要的结果看起来有点像线上的点D
,而不是线更不透明(就像C
的情况一样)
在scleronomic的评论和this链接的帮助下,我找到了解决方案:
我必须插值颜色,并更改
zorder
,使散射点位于前景。相关问题 更多 >
编程相关推荐