我注意到两个相邻的区域重叠,所以在中间出现了一条讨厌的线。
我尝试使用“capstyle ='butt'”来避免行与行之间的重叠,但是在这里它并不能完成任务。

这是一个最小的示例:

import matplotlib.pylab as plt

ax = plt.subplot(111)

ax.axvspan(0, 0.5, color = 'red', alpha = 0.13, capstyle = 'butt')
ax.axvspan(0.5, 1, color = 'blue', alpha = 0.13, capstyle = 'butt')

plt.show()

最佳答案

您遇到的问题不是由于线帽引起的,因为axvspan绘制了一个多边形。问题在于,默认情况下,此多边形的边框具有给定的线宽(我想一个像素)。

因此,要仅获取没有该“边界”的区域,请将线宽(lw)设置为零:

import matplotlib.pylab as plt

ax = plt.subplot(111)

ax.axvspan(0, 0.5, color = 'red', alpha = 0.13, lw=0)
ax.axvspan(0.5, 1, color = 'blue', alpha = 0.13, lw=0)

plt.show()

关于python - 在Matplotlib中,如何避免axvspan重叠?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41898094/

10-12 22:04