2
我经常需要在简明图中指示一些数据的分布,如下图所示。我这样做是通过绘制几个fill_between
区域,受分布分位数的限制。Matplotlib中相交透明图层的正确图例颜色
ax.fill_between(x, quantile1, quantile2, alpha=0.2)
在for循环中,我通过计算位数1和2(由图例所指示的)的0%到100%分位数,然后用10%至90%等,每个作出这样重复fill_between
绘制在先前的“图层”之上。
这里是用透明颜色的三个层中的输出与所述中线(0.5)沿着:
然而,图例颜色不是我想他们是,因为它们(自然)使用每个单独图层的颜色,而不考虑几个图层的组合效果。
ax.legend([0.5]+[['0.0%', '100.0%'], ['10.0%', '90.0%'], ['30.0%', '70.0%']])
覆盖图例命令中的脸部颜色值的最佳方法是什么?
我想避免这样做,首先用透明度“0.2”绘制0%到10%,然后用透明度“0.4”绘制10%到30%等等,因为这需要花费两倍的时间计算并将使代码更复杂。
非常感谢你。没有透明度的解决方案非常好! – GunnarGeir
顺便说一下,第一种方法不需要alpha函数定义。相反,for循环可以使用更新alpha值。 alpha = 0.2 if i == 0 else alpha *(1-0.2)+0.2 句柄线将使用alpha = alpha。 – GunnarGeir