【发布时间】:2013-05-06 18:54:59
【问题描述】:
我在图像上绘制多色线条,线条的颜色应该代表一个给定的参数,该参数大约在 -1 和 3 之间变化。
以下代码部分是构建这些行的部分:
x = self._tprun.r[0,p,::100] # x coordinate
y = self._tprun.r[1,p,::100] # y coordinate
points = np.array([x, y]).T.reshape(-1, 1, 2)
segments = np.concatenate([points[:-1], points[1:]], axis=1)
# 'color' is the parameter that will color the line
vmin = self._color[p,:].min()
vmax = self._color[p,:].max()
lc = LineCollection(segments,
cmap=plt.get_cmap('jet'),
norm=plt.Normalize(vmin=vmin,vmax=vmax))
lc.set_array(self._color[p,:])
lc.set_linewidth(1)
self._ax.add_collection(lc)
这段代码在 'p' 的循环中,因此它将在数组 'x' 和 'y' 给定的位置创建几行,并且颜色应该由 'self._color[ 的值给出p,:]'。
正如我所说,'_color[p,:]' 大致在 -1 和 3 之间变化。下面是 '_color[p,:]' 的示例:
我的问题是创建的线条看起来没有太大的颜色变化,它们看起来都是单色的深蓝色,而 _color[p,:] 变化很大,我要求归一化取其最小值/最大值.
这里是这样一条线的一个例子(看看振荡的深蓝色线,其他黑色线是另一个值的轮廓):
这些功能的工作方式有什么我遗漏的吗?
【问题讨论】:
-
如果您给我们提供完整且可运行的问题示例,帮助会更容易。
标签: matplotlib