【发布时间】:2021-06-03 18:21:23
【问题描述】:
我想将颜色映射应用到垂直线作为渐变,这取决于它在 y 中的距离。我正在使用经典的 vlines 方法来绘制线条:
plt.vlines(xVal, 0, maxY, color='C0')
要创建垂直渐变,我想我会使用 matplotlib 的 LineCollection 方法,但我不知道如何将该技术应用于单行,因为 vlines 仅依赖于 x 坐标和 min /max y 范围。
编辑:
为关心的人找到了一个简单的解决方案。
colorRange = np.arange(0, val, 0.01)
colors = plt.cm.OrRd(np.linspace(0, 1, len(colorRange)))
for i, j in enumerate(colorRange):
plt.vlines(xPlot[ind], 0, colorRange[i], color=colors[i], zorder=-1*i, linewidth=7)
用于创建基于多行的渐变并仅使用 z 排序。 Val 是您希望以 y 表示的最大值/最小值。
【问题讨论】:
标签: python matplotlib plot gradient