【发布时间】:2019-04-09 07:52:56
【问题描述】:
我有数千行,每行的值都在 0 到 1 之间,与某个功能相关。我想做的是画出这些线条,同时用颜色显示它们的特征。也就是说,如果线条值为 0.5,那么我希望这条线条具有颜色条的中间颜色。如何构建此代码?下面是一个例子。
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(5, 5))
ax = fig.add_subplot(111)
x = np.linspace(0, 1, 100)
b_range=np.linspace(0, 1, 5)
for j in range(len(b_range)):
b=b_range[j]
t=b+(1-b)*(1-x)/(1-0)
ax.plot(x, t,color="red")
plt.show()
【问题讨论】:
-
我觉得文档很清楚matplotlib.org/users/colors.html你可以指定一个RGB值的元组
-
@ChatterOne 我发现我很难理解。你能再解释一下吗。我希望我选择两种颜色,比如说“r”和“b”,我希望“r”对应于值 1,“b”对应于 0,如何将所有其他行的值分配给中间颜色?
-
如果你想了解自己,而不是准备好解决方案,一步一步地尝试,从:
ax.plot(x, t, color=(b_range[j], 0, 0)) -
@ChatterOne 太酷了。我想要'#377eb8','yellow','#e41a1c'之间的颜色怎么样?有什么方法可以改变 color=(b_range[j], 0, 0)) 以在中间制作相应的颜色?
-
如果你有超过 10 行,
LineCollection就是much faster。
标签: python matplotlib colors line