利用matplotlib绘制不透明度变化的曲线

aoyhnmkz  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(126)

我有一个包含几条曲线的图,如下所示:

这些曲线从右上角开始,在点(0.86,0.5)附近结束。
我想把注意力集中在终点上,如果我放大这个区域,仍然不是很容易区分不同的线,因为它们重叠了好几次。
我的想法是,然后添加一个不透明度的梯度,使曲线将在其起点透明,然后,不透明度将增加,因为我们越来越接近终点。
如何使用matplotlib来实现这一点?目前,我基本上只针对三条曲线:

plt.plot( r, l )

其中rl是两个阵列。

osh3o9ms

osh3o9ms1#

你可以把xy数组分解成更小的数组,然后分别绘制,这样你就有机会修改每一段的alpha
请参见以下示例:

import numpy as np
import matplotlib.pyplot as plt

N_samp=1000
x=np.arange(N_samp)
y=np.sin(2*np.pi*x/N_samp)
step=10
[plt.plot(x[step*i:step*(i+1)],y[step*i:step*(i+1)],alpha=np.min([0.1+0.01*i,1]),color='tab:blue',lw=1) for i in range(int(N_samp/step))]
plt.show()

相关问题