如何使用 python matplotlib 创建线图,使得线条的颜色相对于另一个系列有所不同?
举个简单的例子:
import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0.0, 2.0, 0.01)
y = np.sin(2 * np.pi * t)
z = (t-1) ** 2
fig = plt.figure()
ax = plt.axes()
ax.plot(t, y)
ax.plot(t, z)
plt.show()
代替:
我只想以线条颜色表示遵循特定颜色图(cmap)(例如“plasma”)的 z 值的方式绘制(t,y)。
Edit:
这个问题被标记为可能重复,但引用了question https://stackoverflow.com/questions/8500700/how-to-plot-a-gradient-color-line-in-matplotlib其中所需的结果是一条改变颜色的线,以帮助遵循它所绘制的路径(序列信息),而不是添加另一个值的信息(在本例中为 z)。
它更接近于这个例子 https://matplotlib.org/gallery/lines_bars_and_markers/multicolored_line.html,正如评论中所指出的,但我正在寻找比创建一组线段并单独为它们着色更简单的东西。
使用colorline http://nbviewer.jupyter.org/github/dpsanders/matplotlib-examples/blob/master/colorline.ipynb函数引用在回答你所说的问题时,这不是重复的 https://stackoverflow.com/a/25941474/4042267,可以这样做:
from colorline import colorline
colorline(t, y, z)
plt.xlim(t.min(), t.max())
plt.ylim(y.min(), y.max())
plt.show()
这将创建多个线段,每个线段的颜色由z
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)