有办法在IDL中创建一个带有颜色梯度的图形吗?我要找的是类似于这个Matlab问题的东西。我知道的最好方法是在一个for循环中绘制行的每一段,但这似乎相当麻烦:
x = float(indgen(11) - 5)
y = x ^ 2
loadct, 2, /silent
!p.background = 255
plot, x, y
for i = 0, 9 do begin
oplot, x(i:i+1), y(i:i+1), color = i * 20, thick = 4
endfor

我正在使用IDL8.2,如果这有区别的话。
发布于 2018-02-14 07:30:01
我曾经有过同样的问题,而且似乎没有(简单的)解决方案。虽然我投降了,但您可以尝试使用绘图函数提供的RGB向量和VERT_COLORS关键字。
每个顶点的颜色(图数据点)的颜色表中的索引向量。另外,一个包含顶点颜色值的3xN字节数组。如果提供的值不是字节类型,则使用BYTSCL将其缩放到字节范围。如果提供索引,但没有提供RGB_TABLE属性的颜色,则使用默认灰度坡道。如果提供了3xN颜色数组,则直接使用颜色,忽略RGB_TABLE提供的颜色值。如果指定的索引或颜色的数量小于顶点数,则会周期性地重复颜色。
这将改变外观更离散,但也许它会帮助你。
发布于 2018-02-14 16:27:54
我有一个常规的地块,它可以用直接的图形来完成这个任务:
IDL> plot, x, y, /nodata, color=0, background=255
IDL> mg_plots, x, y, color=indgen(10) * 20, thick=4当然,它只是一个包装器,你在哪里做的手动。

https://stackoverflow.com/questions/48768093
复制相似问题