matplotlib 使用axvline的不需要的白色“网格”线

tquggr8v  于 2023-03-03  发布在  其他
关注(0)|答案(1)|浏览(143)

下面的代码:

for df in dfs:
    
    plt.plot(df['Digital'], lw=5, label='A', zorder=2)
    plt.plot(df['Analog'], lw=2, linestyle='--', label='B', zorder=2)
    
    for rowNr in np.arange(len(df)):
        if df.iloc[rowNr]['Analog'] >= 0:
            plt.axvline(df.index[rowNr], ymin=0.08, color='gray', alpha=0.3, zorder=1)

    plt.ylim(-2, 25)

这给出了以下结果:

我想去掉所有垂直的白色"网格"线。我试着使用axvspan(),但得到了相同的结果。将plt.grid()设置为False实际上打开了它,并显示它不是真正可以看到的网格线。也许它以某种方式与低alpha值有关,因为将alpha设置为1会删除这些线?
TLDR:我想去掉所有的垂直白线。

iibxawm4

iibxawm41#

这里有点缺乏上下文,但看起来你观察到的白色垂直线实际上来自所有绘制的灰色axvlines之间的空间。
也许它与低alpha值有某种联系,因为将alpha设置为1会删除这些线?
将颜色设置为较浅的灰色(例如color="lightgray"),alpha值为1可能会达到这个效果。

相关问题